1.mysql的源码编译安装
安装版本:mysql8.0 ,在安装之前需要解决很多依赖性,主要依赖性有:cmake和gcc
cmake的依赖解决:
yum install cmake3-3.6.1-2.el7.x86_64.rpm
jsoncpp-0.10.5-2.el7.x86_64.rpm
cmake3-data-3.6.1-2.el7.noarch.rpm
jsoncpp-devel-0.10.5-2.el7.x86_64.rpm
做个软连接:ln -s /usr/bin/cmake3 /usr/local/bin/cmake
gcc的依赖解决:
gcc升级:
首先设置aliyun的centos源,再执行以下命令
# yum install centos-release-scl
# yum install devtoolset-7-gcc*
# scl enable devtoolset-7 bash
# which gcc
# gcc --version
mysql8编译:
# tar zxf mysql-boost-8.0.21.tar.gz
# mkdir build
# cd build
# cmake ../ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DSYSCONFDIR=/etc \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_0900_ai_ci \
-DWITH_BOOST=/root/mysql-8.0.21/boost/boost_1_72_0/
# make j2
# make install
2.mysql的启动
cd /usr/local/mysql/support-files/
cp mysql.server /etc/init.d/mysqld
vim /etc/my.cnf
useradd -M -d /usr/local/mysql/ -s /sbin/nologin mysql 添加用户mysql 不让其登录系统
mkdir -p /data/mysql
chown mysql.mysql /data/mysql/ 修改文件的所有者为mysql
vim ~/.bash_profile
source ~/.bash_profile 添加环境变量
mysqld --initialize --user=mysql 初始化数据库
/etc/init.d/mysqld start 启动数据库
mysql -p 登录数据库 此时会有密码 密码在上面的初始化过程中出现
mysql> alter user root@localhost identified by '密码';
vim /etc/my.cnf
[mysqld]
basedir=/usr/local/lnmp/mysql
datadir=/data/mysql
socket=/data/mysql/mysql.sock
#skip-grant-tables
server-id=1
log-bin=mysql-bin
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
3.mysql密码重置
密码忘记如何重置
(1)vim /etc/my.cnf
skip-grant-tables 添加这个参数 即可不用密码的登录
(2)/etc/init.d/mysqld restart
(3)mysql -p
mysql> update mysql.user set authentication_string='' where user='root';
(4) 退出数据库后 vim /etc/my.cnf 删除skip-grant-tables 参数
(5)/etc/init.d/mysqld restart
(6)mysql -p
mysql> alter user root@localhost identified by '密码';
mysql> flush privileges;