依赖包
yum install numactl libaio perl-Time-HiRes per-devel -y
下载对应系统版本下载
wget http://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-i686.tar.gz
卸载系统自带的mysql
rpm -qa | grep mysql
如果系统有,删除:rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64
下载的文件移动至Linux服务器目录下,解压
mkdir /usr/local/mysql
mkdir /usr/local/data
tar zxvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql/
创建mysql用户组和mysql用户,并使mysql是目录/usr/local/mysql的拥有者
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql /usr/local/mysql
初始化数据库,生成root@localhost和密码,把密码记下
/usr/local/mysql/bin/mysqld --initialize --user=mysql(自己创建的用户名) --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
启动mysql服务,检查服务是否启动成功
/usr/local/mysql/bin/mysqld_safe --user=mysql(自己创建的用户名) & //启动
ps -ef | grep mysql //查看mysql服务进程
修改密码及远程登陆
/usr/local/mysql/bin/mysql -u root -p
输入刚刚生成的临时密码
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; //修改密码
update user set host = '%' where user = 'root'; //允许远程访问
解决Navicat 连接报 1251 错误
出现这个原因是mysql8
之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,
解决问题方法 有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password.
LTER USER 'root' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; //修改加密规则
ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY '123456'; //更新一下用户的密码
FLUSH PRIVILEGES; #刷新权限
将mysql服务加到系统服务中
cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqldchkconfig --add mysqld
检查是否生效
chkconfig --list mysqld
以后就可以使用service命令控制mysql的启动和停止,命令为:service mysqld start和service mysqld stop
配置环境变量
vi /etc/profile //最后添加
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
source /etc/profile //立即生效