RPM方式安装MySQL5.6
vim /etc/profile
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. 允许远程登陆
01 | mysql> use mysql; |
02 | mysql> select host,user,password from user; |
03 | +-----------------------+------+-------------------------------------------+ |
04 | | host | user | password | |
05 | +-----------------------+------+-------------------------------------------+ |
06 | | localhost | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | |
07 | | localhost.localdomain | root | *1237E2CE819C427B0D8174456DD83C47480D37E8 | |
08 | | 127.0.0.1 | root | *1237E2CE819C427B0D8174456DD83C47480D37E8 | |
09 | | ::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 |
g. MySQL的默认安装位置
1 | /var/lib/mysql/ #数据库目录 |
2 | /usr/share/mysql #配置文件目录 |
3 | /usr/bin #相关命令目录 |
4 | /etc/init.d/mysql #启动脚本 |
修改字符集和数据存储路径
配置/etc/my.cnf文件,修改数据存放路径、mysql.sock路径以及默认编码utf-8.
- [client]
- password = 123456
- port = 3306
- default-character-set=utf8
- [mysqld]
- port = 3306
- character_set_server=utf8
- character_set_client=utf8
- collation-server=utf8_general_ci
- #(注意linux下mysql安装完后是默认:表名区分大小写,列名不区分大小写; 0:区分大小写,1:不区分大小写)
- lower_case_table_names=1
- #(设置最大连接数,默认为 151,MySQL服务器允许的最大连接数16384; )
- max_connections=1000
- [mysql]
- default-character-set = utf8
查看字符集
show variables like '%collation%';
show variables like '%char%';
====================================================================
1.解压tar包
cd /software
tar -xzvf mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.21-linux-glibc2.5-x86_64 mysql-5.6.21
2.添加用户与组
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql mysql-5.6.21
3.安装数据库
su mysql
cd mysql-5.6.21/scripts
./mysql_install_db --user=mysql --basedir=/software/mysql-5.6.21 --datadir=/software/mysql-5.6.21/data
exit
4.配置文件
cd /software/mysql-5.6.21/support-files
cp my-default.cnf /etc/my.cnf
cp mysql.server /etc/init.d/mysql
vim /etc/init.d/mysql
#若mysql的安装目录是/usr/local/mysql,则可省略此步
修改文件中的两个变更值
basedir=/software/mysql-5.6.21
datadir=/software/mysql-5.6.21/data
datadir=/software/mysql-5.6.21/data
5.配置环境变量
vim /etc/profile
export MYSQL_HOME="/software/mysql-5.6.21"
export PATH="$PATH:$MYSQL_HOME/bin"
保存退出
. /etc/profile
6.添加自启动服务
chkconfig --add mysql
chkconfig mysql on
7.启动mysql
service mysql start
8.登录mysql及改密码与配置远程访问
mysqladmin -u root password 'your_password'
#修改root用户密码
mysql -u root
-p
#登录mysql,需要输入密码
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;
#允许root用户远程访问
mysql>FLUSH PRIVILEGES;
#刷新权限
mysql>exit
---------------------------2017/03/25 添加
又装了一次此版本的mysql,发现root用户不能登录,提示没权限。使用
mysqld_safe 登进去,发现user表居然是空的,没有一个用户,郁闷。
于是从其它地方导出了一份user表的sql语句,手动插入了一个用户,再登录就可以了。
附:
忘记root密码后,如何找回密码
cd $MYSQL_HOME
./bin/mysqld_safe --basedir=/data/mysql-5.6.21 --datadir=/data/mysql-5.6.21/data --skip-grant-tables &
mysql -u root mysql
UPDATE user SET password=PASSWORD("new_password") WHERE user='root';
FLUSH PRIVILEGES;
mysql -u root mysql
UPDATE user SET password=PASSWORD("new_password") WHERE user='root';
FLUSH PRIVILEGES;