CentOS 7.9上通过源码安装MySQL,并统一字符编码以及配置为系统服务

1. 安装必要的依赖包

首先,确保系统已安装构建MySQL所需的依赖包:

sudo yum install centos-release-scl#启用SCL(Software Collections)仓库
sudo yum update -y
sudo yum groupinstall -y "Development Tools"
sudo yum install -y cmake3 ncurses-devel openssl-devel libaio-devel bison wget
sudo yum install devtoolset-11-gcc devtoolset-11-gcc-c++ devtoolset-11-binutils #安装Devtoolset-11
scl enable devtoolset-11 bash #每次使用时都需要启用Devtoolset-11
echo "source /opt/rh/devtoolset-11/enable" >> ~/.bashrc #为了方便,可以将其添加到shell启动脚本中,例如~/.bashrc
source ~/.bashrc

2. 下载MySQL源码

从MySQL官方网站下载最新的MySQL源码包:

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.30.tar.gz
tar -zxvf mysql-8.0.30.tar.gz
cd mysql-8.0.30

3. 编译和安装MySQL

创建构建目录并配置MySQL:

mkdir build
cd build
cmake3 .. -DDOWNLOAD_BOOST=1 -DWITH_BOOST=../boost
make
sudo make install

4. 初始化数据库

创建MySQL的用户和组:

sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql

初始化MySQL数据目录:

sudo mkdir -p /usr/local/mysql/data
sudo chown -R mysql:mysql /usr/local/mysql
sudo chmod 750 /usr/local/mysql/data
sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data

5. 配置字符编码

编辑MySQL的配置文件my.cnf,确保字符编码为UTF-8:

sudo vi /etc/my.cnf

添加以下内容:

[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0

character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

[client]
socket=/var/lib/mysql/mysql.sock

[mysql]
socket=/var/lib/mysql/mysql.sock

6. 配置MySQL为系统服务

创建MySQL的systemd服务文件:

sudo vi /etc/systemd/system/mysql.service

添加以下内容:

[Unit]
Description=MySQL Server
After=network.target

[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE=5000

[Install]
WantedBy=multi-user.target

重新加载systemd配置,启动并启用MySQL服务:

sudo systemctl daemon-reload
sudo systemctl start mysql
sudo systemctl enable mysql

7. 设置MySQL root用户密码

使用临时生成的密码登录并修改root用户密码:

sudo /usr/local/mysql/bin/mysql_secure_installation

按照提示进行操作,设置root用户的新密码,并完成安全性设置。

8. 验证字符编码

登录MySQL并验证字符编码设置是否正确:

/usr/local/mysql/bin/mysql -u root -p

运行以下SQL命令:

SHOW VARIABLES LIKE 'character_set%';
SHOW VARIABLES LIKE 'collation%';

确保输出结果显示utf8mb4utf8mb4_unicode_ci

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇