Linxu Yum方式安装Mysql

1、下载yum源

  进入http://dev.mysql.com/downloads/repo/,下载RedHat Enterprise Linux 6 / Oracle Linux 6版。文件名称:mysql-community-release-el6-5.noarch.rpm

2、安装yum源

  sudo yum localinstall mysql-community-release-el6-*.noarch.rpm  

  这个Yum库包含了MySQL Server,MySQL工作台管理工具以及ODBC驱动,现在可以通过下面的命令简单地安装MySQLServer。

3、安装MySQL

  安装mysql客户端: yum install mysql

  安装mysql 服务器端: yum install mysql-server

  至此我就可以使用Yum简单地管理MySQL更新,并能确保总是从官网软件库得到最新的发布版。

4、修改 /etc/my.cnf

  文件MySql乱码: character-set-server=utf8

  表名不区分大小写: lower_case_table_names=1

  service mysqld stop; service mysqld start; 如果启动失败,则可能是配置文件不对导致,可以查看log文件排错

5、登陆问题:

  mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: YES)'

  1:停止mysql服务: service mysqld stop

  2:执行命令:

    > mysqld_safe --skip-grant-tables & mysql -uroot -p 回车进入

            > use mysql;

            > update user set password=PASSWORD("newpass")where user="root"; 更改密码为 newpass

            > flush privileges; 更新权限

            > quit 退出

  3:重启mysql服务:service mysqld restart

  4:链接数据库:mysql -uroot -p 新密码

6、忘记本地root的登录密码码

  1、编辑/etc/my.cnf 在[mysqld] 配置部分添加一行 skip-grant-tables

  2、保存后重启mysql [root@localhost etc]# service mysqld restart

  3、登录数据库重新设置root密码 [root@localhost ~]# mysql -uroot -p mysql Enter password:直接回车进入

  mysql> show databases;
      执行下列语句
      mysql> update user set password=password("mysql") where user='root';
      mysql> flush privileges;

  删除/etc/my.cnf文件中添加的“skip-grant-tables”行,重启mysql;

  用新设的密码就能正常登录了;

7、解决不能远程连接的问题

  1、root用户登录到mysql数据库 /usr/local/mysql/bin/mysql -u root -p  (输入密码进入mysql)  

  2、进入mysql,输入如下命令 use mysql;  

  3、查看user表的情况 SELECT Host,User FROM user;  //指明主机名称,“%”表示匹配所有字符串

  4、 UPDATE user SET Host = '%' WHERE User= 'root' LIMIT 1;  

  5、输入如下命令让刚才设置的命令生效 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) 

  6、注意在mysql 命令行形式下一定要输入";"

  按照前面五个步骤完成之后,通过控制台输入[root@linux ~]# mysql -h localhost -u root -p

  Enter password:

  ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

  不让这么连接数据库原因:是因为host对应的user字段是空的,我们需要将其改为root即可

  mysql> select host,user from user;

  解决办法一:mysql> update user set user='root' where host='localhost';

  解决办法二:将localhost改为本机的IP地址,则能够识别了[root@linux ~]# mysql -h 172.16.42.68 -u root -p

8、创建用户:
  命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 
  说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password -   该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器. 

  例子: CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456'; 
  CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456'; 
  CREATE USER 'pig'@'%' IDENTIFIED BY '123456'; 
  CREATE USER 'pig'@'%' IDENTIFIED BY ''; 
  CREATE USER 'pig'@'%';

原文地址:https://www.cnblogs.com/daxin/p/4744936.html