@LNMP环境安装
安装MySQL8.0
安装步骤
- 源码、二进制文件下载地址:https://dev.mysql.com/downloads/mysql/
- 下载对应版本;
- 源码上传服务器;
- cd /usr/local/mysql
- 把tar包mv到指定版本的目录中
- Tar包解压:
tar -xvf mysql-8.0.34-linux-glibc2.28-x86_64.tar.gz
- 解压以后删除原来的压缩包
rm -f mysql-8.0.34-linux-glibc2.28-x86_64.tar.gz
- 重命名目录
mv mysql-8.0.34-linux-glibc2.28-x86_64 mysql-8.0.34
- 进入源码目录
cd /usr/local/mysql/mysql-8.0.34/
MySQL8配置
- 配置PATH环境变量
- 打开配置文件
- 进入编辑模式 按 i 键即可进入编辑模式
- 添加环境变量,在配置文件最下方添加如下信息(以具体安装包解压路径为准)。
- 保存退出(:wq)
- 刷新配置文件
- 检验环境变量是否配置成功
vim /etc/profile
# 在文件的最底部增加
export PATH=/usr/local/mysql/mysql-8.0.34/bin:$PATH
# : wq保存
source /etc/profile #刷新配置文件
mysql --version # 检查是否配置成功
- 创建用户组和用户并赋予权限
- 创建用户组和用户并且赋予权限
groupadd mysql
useradd -g mysql mysql
chown -R mysql.mysql /usr/local/mysql
- 将MySQL服务添加到系统
- 将mysql.server文件复制到/etc/init.d/目录下,并重命名为mysqld
cp /usr/local/mysql/mysql-8.0.34/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
cp -f /usr/local/mysql/mysql-8.0.34/bin/mysqld /lib/systemd/system/mysql.service
systemctl daemon-reload
#设置开机启动
sudo systemctl enable mysql.service
sudo systemctl start mysql.service
systemctl start mysqld
systemctl stop mysqld
systemctl restart mysqld
systemctl status mysqld
MySQL8初始化
- 创建my.cnf文件
vim /etc/my.cnf
[mysql]
# 默认字符集
default-character-set=utf8mb4
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
server-id = 3306
user = mysql
socket = /tmp/mysql.sock
# 安装目录
basedir = /usr/local/mysql/mysql-8.0.34
# 数据存放目录
datadir = /usr/local/mysql/mysql-8.0.34/data
log-bin = /usr/local/mysql/mysql-8.0.34/data/mysql-bin
innodb_data_home_dir =/usr/local/mysql/mysql-8.0.34/data
innodb_log_group_home_dir =/usr/local/mysql/mysql-8.0.34/data
# 日志及进程数据的存放目录
log-error =/usr/local/mysql/mysql-8.0.34/data/mysql.log
pid-file =/usr/local/mysql/mysql-8.0.34/data/mysql.pid
# 服务端字符集
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 = 50M
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 4M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
- 初始化
mysqld --defaults-file=/etc/my.cnf --user=mysql --initialize-insecure
登录MySQL8
-输入命令直接回车就行,默认没有密码,登录后先设置密码
mysql -uroot -p #进入mysql
alter user 'root'@'localhost' identified by 'password';
flush privileges; #刷新权限
可以愉快使用MySQL8了
安装中遇到的问题
启动MySQL服务时报 my_print_defaults:未找到命令错误,为什么需要my_print_defaults呢?这是因为mysql.server执行时就是通过my_print_defaults来读取my.cnf配置变量的。
将mysql目录下的bin/my_print_defaults链接到/usr/bin目录下。
cd /usr/bin
sudo ln -s /usr/local/mysql/mysql-8.0.34/bin/my_print_defaults