CentOS8 tar包安装MySQL
1. MySQL环境准备
#1.安装mysql依赖包:
yum install -y libaio
#2.创建mysql安装目录与数据存放目录:
mkdir /usr/local/mysql
mkdir /usr/local/mysql/mysqldb
#3.给安装和存放目录赋权:
sudo chmod -R 777 /usr/local/mysql
sudo chmod -R 777 /usr/local/mysqldb
#4.创建mysql组
cat /etc/group | grep mysql #检查mysql组和用户是否存在,如无创建,
cat /etc/passwd | grep mysql
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
#说明:创建MySQL用户但该用户不能登陆(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)
2. 准备安装MySQL8.0.18
#将安装包通过xftp上传至服务器,并解压
tar -xvf mysql-8.0.18-linux-glibc2.12-x86_64.tar
xz -d mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz
tar -xvf mysql-8.0.18-linux-glibc2.12-x86_64.tar
cd /home/hanhuibing/workspace/mysql-8.0.18-linux-glibc2.12-x86_64
cp -rf * /usr/local/mysql/
vi /etc/my.conf
chown hanhuibing:hanhuibing /etc/my.cnf
MySQL my.cnf 配置文件内容
# 设置mysql客户端默认字符集
default-character-set=utf8
protocol=tcp
[mysqld]
#skip-name-resolve
#设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/mysqldb
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
[client]
#设置mysql客户端连接服务器默认使用端口
port=3306
#设置mosql客户端默认字符集
default-character-set=utf8
3. 正式安装MySQL8.0.18
cd /usr/local/mysql/bin
./mysqld --initialize --console --user=mysql #记住控制台打印出来的随机命令( O)5lzI&5Jqz/ )
4. 启动服务
cd /usr/local/mysql/support-files
sudo ./mysql.server start
#将mysql服务加入系统进程中
cp mysql.server /etc/init.d/mysqld
service mysqld restart
#建立软连接,在系统中增加mysql指令
ln -s /usr/local/mysql/bin/mysql /usr/bin/
#检查自启动项列表中没有mysqld
systemctl list-unit-files | grep mysqld (或) chkconfig --list mysqld
#设置开启开机启动
systemctl enable mysqld
5. mysql数据库初始设置
#登录mysql 用上面生成的密码
mysql -uroot -p
#出错 error while loading shared libraries
#进入 /usr/lib64/ ls ls libncurses* ls ls libtinfo*
#报错需要啥就给它软连接成什么名
ln -s libncurses.so.6 libncurses.so.5
ln -s libtinfo.so.6 libtinfo.so.5
#然后重新登录
6. 设置允许远程登陆
#修改随机登陆密码 必须先重置密码,否则会一直报错
alter user 'root'@'localhost' identified by '1qaz2wsx!';
show databases; #查看有哪些库
use mysql;
show tables; #查看有哪些表
select user, host, authentication_string from user;
update user set user.Host='%' where user.User='root';
flush privileges;
quit
连接Navicat出错
错误信息:
1251 - Client does not support authentication protocol requested by server;consider upgrading MySQL client
mysql -uroot -p
#更改加密方式
ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
#更改密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '1qaz2wsx!';
FLUSH PRIVILEGES;
#用新改的密码登录navicat
大功告成
恭喜你获得了MySQL8.0