linux下安装mysql8.x
1.准备
环境:CentOS7/Linux
2.官网下载
mysql官网下载 ,https://dev.mysql.com/downloads/mysql/ 具体如下
选择版本
命令行下载,先复制下载地址,鼠标在【download】右键
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz
当然也可以直接点击【download】下载到本地,然后上传到linux服务器上,都行
解压文件
2.解压该压缩包并重命名文件夹为 mysql8
解压:
.xz格式使用命令:tar -Jxvf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
.gz格式使用命令:tar -zxvf mysql-8.0.21-linux-glibc2.12-x86_64.tar.gz
解压后
把mysql-8.0.28-linux-glibc2.12-x86_64文件夹改成 mysql-8.0.28
安装初始化数据库
本人mysql的目录是: /opt/mysql8,MySQL的根目录是:/opt/mysql8/mysql-8.0.28
第一步:切换到根目录,创建data文件:mkdir data
第二部:创建用户组:
groupadd mysql
第三步:创建用户:
useradd -g mysql mysql
第四步:授予权限:
chown -R mysql.mysql /usr/local/mysql8/
第五步:编辑 /etc/my.cnf 文件(最重要的一步来了,mysql8通用配置,没有该文件则新建):
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/opt/mysql8/mysql-8.0.28
# 设置mysql数据库的数据的存放目录
datadir=/opt/mysql8/mysql-8.0.28/data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
user=mysql
lower_case_table_names=1
default-time-zone='+8:00'
sql_mode=NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
第六步:初始化数据库:
mysqld --initialize --console(初始化之后,最后面有一串密码,一定记下来)
cd 到/opt/mysql8/mysql-8.0.28
bin/mysqld --initialize --console
查看mysql.server的路径
find / -name mysql.server
把此服务复制到init.d下
cp /opt/mysql8/mysql-8.0.28/support-files/mysql.server /etc/init.d/mysql
启动mysql
service mysql start
设置mysql自启动
chmod +x /etc/init.d/mysql
systemctl enable mysql
连接mysql测试
mysql -u root -p
修改root密码
测试连接,看看密码是否设置成功
root账户不要暴露到外网访问
外网访问可以创建新的用户,指定ip访问,具体参考
https://mp.weixin.qq.com/s/DgB-GH4dC53N9_L8uZP3Zw
#创建账户
create user 'mscm'@'10.100.232.%' identified by '123456';
#赋予权限
GRANT ALL PRIVILEGES ON *.* TO 'mscm'@'10.100.232.%' WITH GRANT OPTION;
#刷新
flush privileges;
文章转载自公众号:IT学习道场