Linux环境安装部署Mysql
一、环境准备
- centos 7
- Mysql 8-linux环境安装包
- 官网地址:
https://dev.mysql.com/downloads/mysql - 根据自己机器选择版本
二、安装步骤
- 卸载之前版本
find / -name mysql
rm -rf /data/mysql8_data/mysql/mysql
- 解压缩
tar -Jxvf mysql-8.0.29-linux-glibc2.12-x86_64.tar.xz
- 移动位置并修改名称
mv mysql-8.0.29-linux-glibc2.12-x86_64 /usr/local/
mv mysql-8.0.29-linux-glibc2.12-x86_64 mysql8
- 创建mysql组和用户
groupadd mysql
useradd -r -g mysql mysql
- 创建mysql数据目录
mkdir -p /data/mysql8_data
- 赋予权限
chown mysql:mysql -R /data/mysql8_data
chmod 750 /data/mysql8_data/ -R
- 将/usr/local/mysql/bin 目录添加到PATH变量中
export PATH=$PATH:/usr/local/mysql8/bin
三、配置MySQL参数
vim /etc/my.cnf
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
server-id = 3306
user = mysql
socket = /tmp/mysql.sock
# 设置mysql的安装目录
basedir = /usr/local/mysql8
# 设置mysql数据库的数据的存放目录
datadir = /data/mysql8_data/mysql
log-bin = /data/mysql8_data/mysql/mysql-bin
innodb_data_home_dir =/data/mysql8_data/mysql
innodb_log_group_home_dir =/data/mysql8_data/mysql
#设置mysql数据库的日志及进程数据的存放目录
log-error =/data/mysql8_data/mysql/mysql.log
pid-file =/data/mysql8_data/mysql/mysql.pid
# 服务端使用的字符集默认为8比特编码
character-set-server=utf8mb4
#忽略大小写
lower_case_table_names=1
autocommit =1
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 1024
sort_buffer_size = 4M
net_buffer_length = 8K
read_buffer_size = 4M
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 64M
thread_cache_size = 128
#query_cache_size = 128M
tmp_table_size = 128M
explicit_defaults_for_timestamp = true
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535
binlog_format=mixed
binlog_expire_logs_seconds =864000
# 创建新表时将使用的默认存储引擎
default_storage_engine = InnoDB
innodb_data_file_path = ibdata1:10M:autoextend
innodb_buffer_pool_size = 1024M
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
transaction-isolation=READ-COMMITTED
[mysqldump]
quick
max_allowed_packet = 16M
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 4M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
四、初始化MySQL
- 进入安装地址bin目录下
cd /usr/local/mysql8/bin
- 初始化
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql8 --datadir=/data/mysql8_data/mysql --user=mysql --initialize
- 参数解释
--defaults-file=/etc/my.cnf 指定配置文件(放在 --initialize 前面)
--user=mysql 指定用户
--basedir=/usr/local/mysql/ 指定安装目录
--datadir=/usr/local/mysql/data/ 指定初始化数据目录
- 使用临时密码登录
cat /data/mysql8_data/mysql/mysql.log
mysql -uroot -p
- 如果无法连接
进入安装目录,启动mysql服务
sudo ./support-files/mysql.server start
五、修改密码并添加远程访问
- 修改临时密码
ALTER USER 'root'@'localhost' IDENTIFIED with mysql_native_password BY '123456';
- 刷新权限
flush privileges;
- 添加远程访问
use mysql;
CREATE user 'root'@'%'; #创建用户任意远程访问
alter user 'root'@'%' identified with mysql_native_password by '123456'; #修改密码
grant all privileges on *.* to "root"@"%"; #给用户授权
flush privileges;
六、设置开机自启动
- 将mysql.server 文件复制到 /etc/rc.d/init.d/ 目录下mysql 文件
cp /usr/local/mysql8/support-files/mysql.server /etc/rc.d/init.d/mysql
- 赋予权限
chmod +x /etc/init.d/mysql
- 添加服务
chkconfig --add mysql
- 查看服务列表
chkconfig --list
如果345为关
chkconfig --level 345 mysql on
使用mysql命令
ln -s /usr/local/mysql8/bin/mysql /usr/bin