Linux 下安装 mysql8
1.下载mysql
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.13-linux-glibc2.12-x86_64.tar
2.解压mysql包
tar -xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar
再解压
tar xvJf mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz
修改名称
mv mysql-8.0.13-linux-glibc2.12-x86_64 mysql
3.安装mysql
3.1 增加mysql用户
创建mysql用户组:groupadd mysql
创建mysql用户:useradd -g mysql mysql
设置密码:passwd mysql
3.2添加默认配置文件
vim/etc/my.cnf
在my.cnf添加
[client]
port=3306
socket=/tmp/mysql/mysql.sock
[mysqld]
port=3306
user=mysql
socket=/tmp/mysql/mysql.sock
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-error=error.log
3.3 初始化mysql
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
可能遇到错误:
提示没有权限/tmp/mysql,解决方案,执行命令:chown -R mysql:mysql /tmp/mysql
提示error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory,解决方案,安装libaio 即可yum install -y libaio
如果无异常情况日志如下可以看到mysql默认会生成root账号和密码
3.4 启动mysql服务器
./support-files/mysql.server start
4.创建myslq用户
创建用户:create user 'jack'@'localhost' identified by 'jack';
授予权限:grant replication slave on *.* to 'jack'@'localhost';
刷新:flush privileges;
5.mysql忘记密码重置
免密码登陆,vim /etc/my.cnf,在【mysqld】模块添加:skip-grant-tables
重启mysql服务: service mysqld restart
登陆mysql,mysql -u root -p //提示输入密码时直接敲回车
选择mysql数据库,use mysql
将root密码置空,update user set authentication_string = '' where user = 'root';
去重my.cnf中的skip-grant-tables并重启mysql服务
登陆mysql选择数据库修改密码,ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';(注意,这里mysql默认加密用的sha,navicat连接会提示authentication plugin 'caching_sha2_password',可使用ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
是mysql配置立即生效flush privileges;
6.其它问题
6.1 linux下执行mysql 命令提示unknown
原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。
ln -s /usr/local/mysql/bin/mysql /usr/bin
6.2 设置远程登陆
登陆mysql(mysql -u root -p),使用mysql数据库(use mysql),并执行:update user set host = '%' where user = 'root';最后执行flush privileges;
6.3建立mysql服务
cp -a ./support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list mysqld(检查服务是否生效)
6.4配置全局环境变量
vi /etc/profile
在 profile 文件底部添加如下两行配置
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH