Ubuntu 安装 MySQL 8 完整指南_ubuntu 安装mysql8
Ubuntu 安装 MySQL 8 完整指南
一、准备工作
二、下载与解压
- 进入目录:
cd /usr/local/
- 下载资源包:
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
- 其他版本可在 MySQL 官方网站 获取。
- 解压:
tar -Jxvf mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
三、配置
- 重命名文件夹:
mv mysql-8.0.32-linux-glibc2.12-x86_64 mysql8
- 添加环境变量:
- 编辑
/etc/profile
文件:sudo vim /etc/profile
- 在文件末尾追加:
export PATH=$PATH:/usr/local/mysql8/bin
- 重载环境变量:
source /etc/profile
- 编辑
- 安装依赖:
sudo apt-get install libtinfo5sudo apt install libaio1
- 创建用户组和用户:
sudo groupadd mysqlsudo useradd -r -g mysql mysql
- 设置数据目录:
sudo mkdir -p /usr/local/mysql8/datasudo chown -R mysql:mysql /usr/local/mysql8/datasudo chmod -R 700 /usr/local/mysql8/data
- 准备配置文件:
- 将
my.cnf
文件放置在/etc/
目录下:sudo vim /etc/my.cnf
- 配置文件内容:
[mysql]default-character-set=utf8mb4[client]port=3306socket=/tmp/mysql.sock[mysqld]port=3306server-id=3306user=mysqllog_timestamps=SYSTEMdefault-time_zone=\'+8:00\'socket=/tmp/mysql.sockbasedir=/usr/local/mysql8datadir=/usr/local/mysql8/datalog-bin=/usr/local/mysql8/data/mysql-bininnodb_data_home_dir=/usr/local/mysql8/datainnodb_log_group_home_dir=/usr/local/mysql8/datalog-error=/usr/local/mysql8/data/mysql.logpid-file=/usr/local/mysql8/data/mysql.pidlower_case_table_names=1character-set-server=utf8mb4autocommit=1skip-external-lockingkey_buffer_size=256Mmax_allowed_packet=1Mtable_open_cache=1024sort_buffer_size=4Mnet_buffer_length=8Kread_buffer_size=4Mread_rnd_buffer_size=512Kmyisam_sort_buffer_size=64Mthread_cache_size=128tmp_table_size=128Mexplicit_defaults_for_timestamp=truemax_connections=500max_connect_errors=100open_files_limit=65535binlog_format=mixedbinlog_expire_logs_seconds=864000default_storage_engine=InnoDBinnodb_data_file_path=ibdata1:10M:autoextendinnodb_buffer_pool_size=1024Minnodb_log_file_size=256Minnodb_log_buffer_size=8Minnodb_flush_log_at_trx_commit=1innodb_lock_wait_timeout=50transaction-isolation=READ-COMMITTED[mysqldump]quickmax_allowed_packet=16M[myisamchk]key_buffer_size=256Msort_buffer_size=4Mread_buffer=2Mwrite_buffer=2M[mysqlhotcopy]interactive-timeout
- 将
四、安装与启动
- 初始化 MySQL:
sudo mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql8 --datadir=/usr/local/mysql8/data --user=mysql --initialize
- 初始化完成后,系统会生成一个临时密码,临时密码可以在以下日志文件中找到:
/usr/local/mysql8/data/error.log
- 示例输出:
A temporary password is generated for root@localhost: ;pq4R.Z?)OR?
- 初始化完成后,系统会生成一个临时密码,临时密码可以在以下日志文件中找到:
- 使用临时密码登录:
mysql -hlocalhost -uroot -p\';pq4R.Z?)OR?\' -P3306
- 输入临时密码后登录。
- 修改密码:
ALTER USER \'root\'@\'localhost\' IDENTIFIED BY \'password123\';
- 将
password123
替换为你想要设置的新密码。
- 将
- 授权远程访问:
CREATE USER \'root\'@\'%\' IDENTIFIED BY \'password123\';GRANT ALL PRIVILEGES ON *.* TO \'root\'@\'%\';FLUSH PRIVILEGES;
- 这样,
root
用户就可以从任何 IP 地址远程访问 MySQL 了。
- 这样,
五、启动 MySQL
- 启动 MySQL:
sudo /usr/local/mysql8/bin/mysqld_safe --defaults-file=/etc/my.cnf &
- 或者使用环境变量简化命令:
sudo mysqld_safe --defaults-file=/etc/my.cnf &
- 或者使用环境变量简化命令:
- 查看 MySQL 是否启动:
ps -ef | grep mysql
六、开机自启动
- 编写启动脚本:
- 创建
startMysql.sh
脚本:sudo vim /usr/local/startMysql.sh
- 脚本内容:
#!/bin/bashsource ~/.profilemysql_cnf=\'/etc/my.cnf\'mysql_safe_path=\'/usr/local/mysql8/bin/mysqld_safe\'if [ ! -x \"$mysql_safe_path\" ]; then echo \"Error: $mysql_safe_path not found or not executable.\" exit 1fi$mysql_safe_path --defaults-file=${mysql_cnf} > /var/log/mysql_startup.log 2>&1 &echo \"MySQL is starting in the background. Check /var/log/mysql_startup.log for details.\"
- 赋予脚本可执行权限:
sudo chmod +x /usr/local/startMysql.sh
- 创建
- 将脚本加入开机启动:
- 编辑
/etc/rc.local
文件:sudo vim /etc/rc.local
- 添加以下内容:
#!/bin/sh -e/usr/local/startMysql.shexit 0
- 确保文件可执行:
sudo chmod +x /etc/rc.local
- 编辑
七、验证安装
-
远程连接测试:
- 在另一台机器上使用以下命令测试远程连接:
mysql -h<你的服务器IP> -uroot -p
- 输入密码后,如果能够成功登录,则说明远程连接已成功配置。
- 在另一台机器上使用以下命令测试远程连接:
-
查看数据库列表:
SHOW DATABASES;
以上是完整的 Ubuntu 安装 MySQL 8 的指南,涵盖了从安装、配置到启动、授权远程访问以及开机自启动的全部步骤。按照这些步骤操作即可完成 MySQL 8 的安装和配置。