CentOS6.5 安装配置mysql(转)

RPM方式安装MySQL5.6

 

RPM方式安装MySQL5.6

a. 检查MySQL及相关RPM包,是否安装,如果有安装,则移除(rpm –e 名称)

1 [root@localhost ~]# rpm -qa | grep -i mysql
2 mysql-libs-5.1.66-2.el6_3.x86_64
3 [root@localhost ~]# yum -y remove mysql-libs*

 

b. 下载Linux对应的RPM包,如:CentOS6.4_64对应的RPM包,如下:

1 [root@localhost rpm]# ll
2 total 74364
3 -rw-r--r--. 1 root root 18442536 Dec 11 20:19 MySQL-client-5.6.15-1.el6.x86_64.rpm
4 -rw-r--r--. 1 root root  3340660 Dec 11 20:06 MySQL-devel-5.6.15-1.el6.x86_64.rpm
5 -rw-r--r--. 1 root root 54360600 Dec 11 20:03 MySQL-server-5.6.15-1.el6.x86_64.rpm

c. 安装MySQL

1 [root@localhost rpm]# rpm -ivh MySQL-server-5.6.15-1.el6.x86_64.rpm
2 [root@localhost rpm]# rpm -ivh MySQL-devel-5.6.15-1.el6.x86_64.rpm
3 [root@localhost rpm]# rpm -ivh MySQL-client-5.6.15-1.el6.x86_64.rpm
4 #修改配置文件位置
5 [root@localhost rpm]# cp /usr/share/mysql/my-default.cnf /etc/my.cnf

 

d. 初始化MySQL及设置密码

复制代码
1 [root@localhost rpm]# /usr/bin/mysql_install_db
2 [root@localhost rpm]# service mysql start
3 [root@localhost rpm]# cat /root/.mysql_secret  #查看root账号密码
4 # The random password set for the root user at Wed Dec 11 23:32:50 2013 (local time): qKTaFZnl
5 [root@localhost ~]# mysql -uroot –pqKTaFZnl
6 mysql> SET PASSWORD = PASSWORD('123456');    #设置密码为123456
7 mysql> exit
8 [root@localhost ~]# mysql -uroot -p123456
复制代码

 

e. 允许远程登陆

复制代码
 1 mysql> use mysql;
 2 mysql> select host,user,password from user;
 3 +-----------------------+------+-------------------------------------------+
 4 | host                  | user | password                                  |
 5 +-----------------------+------+-------------------------------------------+
 6 | localhost             | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
 7 | localhost.localdomain | root | *1237E2CE819C427B0D8174456DD83C47480D37E8 |
 8 | 127.0.0.1             | root | *1237E2CE819C427B0D8174456DD83C47480D37E8 |
 9 | ::1                   | root | *1237E2CE819C427B0D8174456DD83C47480D37E8 |
10 +-----------------------+------+-------------------------------------------+
11  
12 mysql> update user set password=password('123456') where user='root';
13 mysql> update user set host='%' where user='root' and host='localhost';
14 mysql> flush privileges;
15 mysql> exit
复制代码

 

f. 设置开机自启动

1 [root@localhost ~]# chkconfig mysql on
2 [root@localhost ~]# chkconfig --list | grep mysql
3 mysql           0:off   1:off   2:on    3:on    4:on    5:on    6:off

 

mysql Access denied for user root@localhost

原因1-启动命令错误:
我开始的时候直接输入命令:mysql start 
正确的启动命令是: 
/etc/rc.d/init.d/mysql start

原因2-配置文件错误:
检查etc下面的my.cnf如下内容:

[client]

复制代码
#password   = your_password
port     = 3306
socket     = /usr/mysql-data/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port     = 3306
socket     = /usr/mysql-data/mysql.sock
复制代码

原因3-启动文件错误:
需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,
其中datadir=   ?     一行检查下!

原因4-前提是你在使用php连接时候报错!
在/etc/php.ini修改mysql.default_socket的值设置为:
mysql.default_socket=/var/lib/mysql/mysql.sock
回到终点设置个连接:ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
(在/etc/php.ini中mysql.default_socket这个文件中,关于mysql.default_socket的值的说明是这样的,
;Default socket name for local MySQL connects. If empty, uses the built-in MySQL defaults.
这个值一开始是空的,也就是说,如果我们不主动去修改的话,php将会使用内建在mysql中的默认值)


注意:另外还遇到需要service mysql star才能启动service mysql stop才能停止。
还有直接使用mysql不能找到命令,错误为“bash: mysql: command not found”可以直接**mysql的安装目录中的bin文件夹跟绝对路径运行命令,还有的需要加./mysql 才能执行。

mysql修改密码方法有几种

方法一   

使用phpMyAdmin

  (图形化管理MySql数据库的工具),这是最简单的,直接用SQL语句修改mysql数据库库的user表,不过别忘了使用PASSWORD函数,插入用户用Insert命令,修改用户用Update命令,删除用Delete命令。在本节后面有数据表user字段的详细介绍。   

方法二   

  使用mysqladmin。输入  

  mysqladmin -u root -p oldpassword newpasswd  

执行这个命令后,需要输入root的原密码,这样root的密码将改为newpasswd。同样,把命令里的root改为你的用户名,你就可以改你自己的密码了。

  当然如果你的mysqladmin连接不上mysql

  server,或者你没有办法执行mysqladmin,那么这种方法就是无效的,而且mysqladmin无法把密码清空。   

  下面的方法都在mysql提示符下使用,且必须有mysql的root权限:   

方法三   

  mysql> INSERT INTO mysql.user (Host,User,Password) VALUES('%','system', PASSWORD('manager'));

  mysql> FLUSH PRIVILEGES   

  确切地说这是在增加一个用户,用户名为system,密码为manager。注意要使用PASSWORD函数,然后还要使用FLUSH

  PRIVILEGES来执行确认。  

原文地址:https://www.cnblogs.com/wajueji/p/6559922.html