离线源码安装mysql
1:下载tar包,如果有则直接使用
下载连接:
https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.39.tar.gz
cd /home/kongbai/
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.39.tar.gz
ls
下载依赖包
yum install -y cmake make gcc gcc-c++ bison ncurses ncurses-devel openssl openssl-devel
2:解压编译及安装mysql
创建安装目录和数据存放目录
mkdir -p /server/mysql
tar zxf mysql-boost-5.7.39.tar.gz -C /server/
cd /server/mysql-5.7.39/
mv boost/ /server/mysql
更改版本
vim VERSION
MYSQL_VERSION_MAJOR=9
MYSQL_VERSION_MINOR=9
MYSQL_VERSION_PATCH=99
MYSQL_VERSION_EXTRA=
vim sql/mysqld.cc 注释掉354-362行的内容否则会报错
//#if MYSQL_VERSION_ID >= 50800
//#error "show_compatibility_56 is to be removed in MySQL 5.8"
//#else
/*
Default value TRUE for the EMBEDDED_LIBRARY,
default value from Sys_show_compatibility_56 otherwise.
*/
my_bool show_compatibility_56= TRUE;
//#endif /* MYSQL_VERSION_ID >= 50800 */
cmake -DCMAKE_INSTALL_PREFIX=/server/mysql -DMYSQL_DATADIR=/server/mysql/data -DSYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/server/mysql/mysql.sock -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=l -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/server/mysql/boost
sudo make -j 4
等待大约1小时编译
sudo make install
添加mysql用户组和配置文件权属。
groupadd mysql
useradd -M -s /sbin/nologin -r -g mysql mysql
chown -R mysql:mysql /server/mysql/
新建一个全局用的简单的配置文件。
vim /etc/my.cnf
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#default
user = mysql
basedir = /server/mysql
datadir = /server/mysql/data
port = 3306
pid-file = /server/mysql/data/mysql.pid
socket = /server/mysql/mysql.sock
character-set-server=utf8
[client]
socket = /server/mysql/mysql.sock
开启服务
grep chkconfig ./* -R -color
cp /server/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
chkconfig --list mysqld
/server/mysql/bin/mysqld --initialize --user=mysql --basedir=/server/mysql --datadir=/server/mysql/data --lower-case-table-names=1
service mysqld restart
service mysqld restart
这一步会打印输出随机生成的root账号初始密码
添加PATH。
vim /etc/profile
export MYSQL_HOME=/server/mysql
export PATH=$PATH:$MYSQL_HOME/bin
source /etc/profile
连接登录MySQL并修改root账户密码,进入MySQL修改开启root账户可远程连接
mysql -uroot -p'Ny#Y8unAKdgl'
ALTER USER 'root'@'localhost' IDENTIFIED BY '你要改的密码';
UPDATE mysql.user SET Host='%' WHERE user='root'; #远程连接
FLUSH PRIVILEGES;