源码编译安装以及遇到的问题"/>
mysql5.7源码编译安装以及遇到的问题
1.下载mysql依赖库的文本包
[root@myserver_2 mysql]# yum install -y make gcc-c++ cmake bison-devel ncurses-devel bison perl perl-devel
2.解压并创建mysql组合用户
[root@myserver_2 mysql]# tar -zxvf mysql-boost-5.7.23.tar.gz -C /usr/local
[root@myserver_2 mysql]# cd /usr/local
[root@myserver_2 local]# ls
bin etc games include lib lib64 libexec mysql-5.7.23 sbin share src
[root@myserver_2 local]# groupadd mysql
[root@myserver_2 local]# useradd -r -g mysql -s /bin/false mysql
3.开始编译mysql
[root@myserver_2 mysql-5.7.23]# pwd
/usr/local/mysql-5.7.23
[root@myserver_2 mysql-5.7.23]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/db/data
-DEXTRA_CHARSET=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DMYSQL_TCP_PORT=3306
-DWITH_BOOST=boost
-DMYSQL_USER=mysql
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGR_ENGINE=1
-DENABLED_LOCAL_INFILE=1
-DDOWNLOAD_BOOST=1
-DWITH_UNIX_ADDR=/tmp/mysqld.sock
-DWITH_EMBEDDED_SERVER=1
cmake完成之后,进入编译安装(时间会比较长)
make && make install
4. 初始化数据库
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --baseurl=/usr/local/mysql --datadir=/db/data
–initialize-insecure: 表示初始化时不生成MYSQL管理员用户root密码
–initialize: 表示初始化时生成一个随机密码,此密码会默认显示在MYSQL的日志文件中(/var/log/mysqld.log)中显示
5.设置mysql配置文件myf
启动mysql的时候默认会查找/etc/myf文件,如果找不到则继续搜索$basedir/myf文件,如果还找不到最后会搜索~/.myf 因此启动之前可以先手动配置myf文件
[mysqld]
datadir = /db/data
socket=/var/run/mysql/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
6.配置mysql启动脚本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig -add mysqld
chkconfig mysqld on
service mysqld start
7.设置密码
set PASSWORD=PASSWORD=(‘12345678’);
alter user ‘root’@‘localhost’ PASSWORD EXPIRE NEVER;
flush privileges;
问题一:
linux 上查看已安装的RPM包时:
rpm -qa|grep -i mysql
rpm卸载的rpm包
rpm -e --nodeps mysql包
yum卸载的yum安装的包:
yum remove 包名
问题二:
Centos7上安装mysql解压包时报错:
rpm -ivh mysql-community-server-5.7.19-1.el6.x86_64.rpm
warning: mysql-community-server-5.7.19-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
解决办法:
rpm -ivh mysql-community-server-5.7.19-1.el6.x86_64.rpm --force --nodeps
问题三:
Centos7上安装mysql服务启动mysql时报错
service mysql start
Redirecting to /bin/systemctl restart mysql.service
Failed to restart mysql.service: Unit not found.
解决办法:service mysqld start
问题四:
启动完之后进入mysql ,mysql -uroot -p 进入启动时报错,第一次进去碰到有密码时不知道,临时获得一个进去
grep 'temporary password' /var/log/mysqld.log
进去之后 show databases;
发现又报mysql ERROR 1820 (HY000)报错
先降低设置密码的验证强度等级:set global validate_password_policy=LOW;
再设置用户账号和密码(密码默认长度是8)
(也可以更改set global validate_password_length=6; )
SET PASSSWORD = PASSWORD(‘12345678’);
或者 ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘12345678’;
问题五:
远程连接(sqlyong或者Navicate)Mysql连接不上:
1.mysql未授权
grant all privileges on . to ‘root’@’%’ identified by “12345678”;
flush privileges;
2.防火墙策略没开(关闭防火墙也行)
systemctl status firewalld
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --query-port=3306/tcp
----关闭防火墙
systemctl stop firewalld
systemctl disable firewalld --关闭开机启动
更多推荐
mysql5.7源码编译安装以及遇到的问题
发布评论