一、下载源码包
wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
二、解压源码包
[root@aliyun software]# tar -xzvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
三、复制解压后的mysql目录
[root@aliyun software]# mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql
四、添加用户组和用户
groupadd mysql
useradd
-g mysql mysql
五、安装
切换目录:[root@aliyun software]# cd /usr/local/mysql/
更改权限:chown -R mysql:mysql ./
./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql
[root@aliyun mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data
[root@aliyun mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@aliyun mysql]# chmod 755 /etc/init.d/mysqld
[root@aliyun mysql]# cp support-files/my-default.cnf /etc/my.cnf
六、修改启动脚本
[root@aliyun mysql]# vim /etc/init.d/mysqld
七、测试连接
[root@aliyun local]# pwd
/usr/local
[root@aliyun local]# ./mysql/bin/mysql -uroot
八、加入环境变量
编辑 /etc/profile,这样可以在任何地方用mysql命令了
[root@aliyun local]# vim /etc/profile
在最后添加
[root@aliyun local]# source /etc/profile
九、启动、关闭、状态
启动mysql
service mysqld start
关闭mysql
service mysqld stop
查看运行状态
service mysqld status
十、报错问题处理
[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist。
[root@aliyun local]# more /etc/my.cnf |grep -v ^#
正常情况下为空值
[client]
socket=/usr/local/mysql/data/mysql/mysql.sock
[mysqld]
datadir=/usr/local/mysql/data/mysql
socket=/usr/local/mysql/data/mysql/mysql.sock
user=mysql
old_passwords=1
[mysqld_safe]
log-error=/usr/local/mysql/data/mysql/mysqld.log
pid-file=/usr/local/mysql/data/mysql/mysqld.pid
#由于编译安装时指定的路径为/opt/data以及mysql_install_db时指定的datadir也为/opt/data,而my.cnf为缺省的路径
#因此修改datadir至正确路径后,问题解决
操作命令记录
tar -xf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
ls
mv mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql
id mysql
groupadd mysql
useradd -g mysql mysql
id mysql
df -h
cd
cd /app
ls
mkdir data
chown -R mysql.mysql data
ll
cd /usr/local/mysql/
ls
cd scripts/
ls
./mysql_install_db --basedir=/usr/local/mysql/ --datadir=/app/data/
ll /app/data/
cd ../
ls
cd support-files/
ls
cp mysql.server /etc/init.d/mysqld
cd
chmod 755 /etc/init.d/mysqld
vi /etc/my.cnf
[client]
socket=/app/data/mysql.sock
[mysqld]
server_id=1
datadir=/app/data
basedir=/usr/local/mysql
socket=/app/data/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/app/data/mysqld.log
pid-file=/app/data/mysqld.pid
/etc/init.d/mysqld start
mysql
/usr/local/mysql/bin/mysql
history