MySQL的源码编译安装

参考MySQL源码安装操作文档

https://dev.mysql.com/doc/refman/8.0/en/source-configuration-options.html

建议源码编译安装之前先拍快照


第一步:安装MySQL需要的依赖库

yum -y install cmake libaio-devel oppenssl-devel ncurses-devel

第二步上传软件到服务器端并解压

tar -xf 压缩包 或tar -xzf 压缩包

第三步:编写脚本文件进行配置(不容易出错)

#vim myconfig.sh
cmake . \
-DCMAKE_INSTALL_PREFIX=/ mysq1_3307 \     
-DMYSQL_DATADIR=/mysq1_3307/data \        
-DMYSQL_ TCP_PORT=3307 \
-DMYSQL__UNIX_ADDR=/mysql_3307/mysql.sock \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_SSL=system \
-DWITH_BOOST=boost
没有安装boost库的需要下面两行
-DWITH_BOOST=/mysq1_3307/ boost \
-DDOWNLOAD_B0OST=1(如果已经下载好,则不用再次下载=0,或者直接不写)

只有mysql_3307需要修改,其他的直接复制粘贴(配置选项可以参考上面的表)
wq保存之后 
chmod +x myconfig.sh
./myconfig.sh

第四步:编译安装

make -j2 && make install  //-j2:表示同时开启多个线程共同编译

常见配置错误

如果中途编译报错只能删掉CmakeCache.txt文件重新编译

rm -f CmakeCache.txt
make -j2 && make install

MySQL数据库的初始化

注意,必须进去安装目录里面

cd /mysql_3307

第一步:创建mysql-files目录

mkdir mysql-files
chown -R mysql:mysql /mysql_3307
chmod 750 mysql-files

第二步数据库初始化操作

bin/mysqld --initialiaze --user=mysql --basedir=/mysql_3307 
--datadir=/mysql_3307/data
记住保存数据库随机密码

第三步:拷贝mysql.server脚本到/etc/init.d目录,然后启动数据库

cp support-files/mysql.server /etc/init.d/mysql_3307  //mysql_3307可随意指定
chown -R mysql.mysql /mysql_3307
service mysql_3307 start
netstat -nltp |grep mysqld  //查看端口号

MySQL数据库安装完成后的配置

第一步:编写MySQL配置文件,my.cnf

#vim /mysql_3307/my.cnf
[mysqld]
basedir=/mysql_3307
datadir=/mysql_3307/data
socket=/mysql_3307/mysql.sock

#service mysql_3307 restart  //重新启动数据库配置才能生效

第二步:设置数据库root密码

bin/mysqladmin -uroot password '123' -p
输入保存的随机密码

第三步:安全设置

bin/mysql_secure_installation

第四步:设置开机启动项

chkconfig --add mysql_3307  //添加mysql_3307为开机启动项
chkconfig mysql_3307 on   //on设置开机自启

常见问题1:如何访问同一台服务器上的不同数据库

  1. 可以直接分别访问不同目录(/mysql3306/bin/mysql -uroot -p或者/mysql3307/bin/mysql-uroot -p)

  1. 拷贝相应的命令到环境变量PATH目录下

cp /mysql_3306/bin/mysql /usr/bin/mysql_3306
cp /mysql_3307/bin/mysql /usr/bin/mysql_3307

常见问题2:忘记数据库root密码怎么办?

跳过授权表重启数据库

第一步:关闭数据库mysqladmin

mysqladmin shutdown -p
不用输密码,因为忘记了,直接回车

第二步:跳过授权表启动并刷新授权表(重要)

#/mysql_3306/bin/mysqld --defaults-file=/mysql_3306/my.cnf --skip-grant-tables --skip-networking=on --user=mysql &
稍等一下,注意看报错,然后回车
#mysql -uroot -p
什么都不用输入
mysql>flush privileges; //刷新

第三步:修改数据库root密码

mysql>alter user 'root'@'localhost' identified by '123';
如果失败则用下面的语句
mysql> UPDATE mysq1.user SET authentication_string = PASSWORD( 'MyNewPass')WHERE User = 'root’AND Host = 'localhost ';
mysql> FLUSH PRIVILEGES;

第四步:修改完成后查看mysqld进程并重启

jobs
kill %1  

service mysql_3306 start

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值