1、yum install -y gcc gcc-c++ make autoconf wget ncurses-devel libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel openldap-devel libtool-ltdl-devel libevent-devel gd-devel bzip2-devel pcre-devel bison libaio-devel cmake readline-devel readline-devel libtirpc-devel
3、添加mysql用户
groupadd mysql
useradd -r -g mysql mysql
更改所有权 sudo chown mysql:mysql /myweb/mysql/
tar zxvf rpcsvc-proto-1.4.tar.gz
cd rpcsvc-proto-1.4
./configure
make
make install
tar zxvf percona-server-8.0.21-12.tar.gz
cd percona-server-8.0.21-12
sudo cmake . -DCMAKE_INSTALL_PREFIX=/myweb/mysql/ -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_unicode_ci -DWITH_DEBUG=0 -DBUILD_CONFIG=mysql_release -DENABLE_DTRACE=0 -DFEATURE_SET=community -DWITH_EMBEDDED_SERVER=OFF -DDOWNLOAD_BOOST=1 -DWITH_BOOST=boost/boost_1_69_0/ -DFORCE_INSOURCE_BUILD=1
make && make install
cp support-files/my-default.cnf /etc/my.cnf
sudo cp support-files/mysql.server /etc/init.d/mysql
要给/etc/init.d/mysql一个可执行的权限
sudo chmod +x /etc/init.d/mysql
修改一下这个文件
sudo nano /etc/init.d/mysql
mysql
basedir=/myweb/mysql/
datadir=/myweb/mysql/data
10、
my.cnf mysqld字段下放入explicit_defaults_for_timestamp
bin/mysqld --initialize-insecure --user=mysql
密码会放在/root/.mysql_secret里面。
chkconfig mysql on
11、service mysql start
可能权限会导致出现一个错误 the server quit without updating pid file 此时 执行下
sudo chown mysql:mysql -R /myweb/mysql/
chmod 777 -R /myweb/tmp
也有可能是mysql端口被占用:
netstat -nap 查看对应程序
kill -9 1146 结束对应进程,即可。
13.1 设置远程连接 (根据需要设置)
修改数据库root用户的密码 sudo /myweb/mysql/bin/mysqladmin -hlocalhost -uroot password '123456' -p
./mysqladmin -h127.0.0.1 -uroot password '123456'
如果是升级,则执行 ./mysql_upgrade -h127.0.0.1 -uroot -p 即可。
sudo mysql -uroot -p 输入设置的密码
sudo ln -s /myweb/mysql/bin/mysql /usr/bin/mysql
进入 执行
create user root@'127.0.0.1' identified by '123456';
grant all privileges on *.* to root@'127.0.0.1' with grant option;
create user 'guest'@'%' identified by '123456';
grant all privileges on *.* to guest@'%' with grant option;
flush privileges;
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重新启动防火墙
firewall-cmd --reload