源码安装mysql并用Navicat for Mysql连接

工具:

mysql-boost-5.7.26.tar \\如果没有安装boost库一定要选这个版本,不然cmake的时候会报没有boost库错误

相关库gcc gcc-c++ ncurses-devel perl  make cmake\\gcc gcc-c++是编译时候需要的工具,ncurses-devel perl是安装mysql需要的依赖库

安装数据库前准备

1.创建mysql用户和相关目录

[[email protected] mysql-5.7.26]# mkdir /usr/local/mysql/ \\安装目录

[[email protected] mysql-5.7.26]# mkdir /data/mysql \\data目录

[[email protected] mysql-5.7.26]# groupadd mysql

[[email protected] mysql-5.7.26]# useradd -g mysql mysql

[[email protected] mysql-5.7.26]#chown -R mysql:mysql /usr/local/mysql/

[[email protected] mysql-5.7.26]#chown -R mysql:mysql /data/mysql

编译mysql源码:

2.上传mysql源码包并解压出来,源码从官方下载

[[email protected] opt]# tar -xf mysql-boost-5.7.26.tar.gz

3.使用cmake进行预编译,查看是否有缺少依赖库的情况,预编译要在解压出的文件夹进行

[[email protected]       mysql-5.7.26]cd /opt/ mysql-5.7.26

[[email protected]       mysql-5.7.26] cmake. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/msyql -DSYSCONFDIR=/etc -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/opt/mysql-5.7.26/boost \\-DWITH_BOOST选项指到你解压出的boost的位置

4.预编译没有出现Erro的话可进行编译

[[email protected] mysql-5.7.26]# make -j 2 \\j 2是可以根据你的CPU空闲数量来进行同步编译,提高编译的时间,我这里有2个cpu就是j 2

5.编译完到100%表示编译完成,可以make install进行安装了

[[email protected] mysql-5.7.26]# make install

最后看到successful表示安装成功

启动并初始化数据库

1.编辑my.cnf

mysql5.7没有my.cnf的配置模板,要自己创建,my.cnf是mysql在初始化库的时候查找此文件,根据文件中的配置信息进行初始化,一般数据库失败时就是my.cnf没有配置对,下面是我配置的my.cnf,有很多相关的配置选项,有具体某一块的需求可以进行配置。

[[email protected] mysql-5.7.26]# vi /etc/my.cnf

[mysql] \\mysql用户配置

port = 3306

default-character-set=utf8mb4

socket=/tmp/mysql.sock

 

 

[client] \\clientde 配置

port = 3306

default-character-set=utf8mb4

socket=/tmp/mysql.sock

 

 

[mysqld] \\mysqld守护进程的配置

user = mysql

basedir = /usr/local/mysql

datadir = /data/mysql

port = 3306

pid-file = /tmp/mysqld.pid

tmpdir=/tmp

socket=/tmp/mysql.sock

character-set-server=utf8

#skip-grant-tables

2.把可执行文件设置加入PATH变量

在mysql安装目录下的bin是执行mysql的一些命令,添加到PATH变量下可以实现全局执行,不用在当前目录下执行。添加到profile可以永久生效

       [[email protected] etc]# vi /etc/profile

       添加一条export PATH=$PATH:/usr/local/mysql/bin

3.初始化数据库

[[email protected] etc]#mysqld --initialize --user=root --basedir=/usr/local/mysql --datadir=/data/mysql \\basedir和datadir和my.cnf中设置的一样

初始化的结尾要记得PASSW的密码,那是root第一次登陆生成的默认密码

4.开启数据库服务

[[email protected] mysql]# cd /usr/local/mysql/support-files/

[[email protected] support-files]# ./mysql.server start

出现Starting MySQL SUCCESS!服务开启

5.登陆数据库

[[email protected] support-files]# mysql -u root –p

Enter password:

输入前面生成的密码进入数据库

源码安装mysql并用Navicat for Mysql连接

6.第一次登陆不能执行命令,需要初始化数据库的密码

mysql> ALTER USER USER() IDENTIFIED BY '密码';

重新登陆即可

使用Navicat for MySQL连接mysql出现1103错误

源码安装mysql并用Navicat for Mysql连接

可能是你的帐号不允许从远程登陆,只能在localhost登陆。这个时候只要在装数据库的那台电脑,登入MySQL后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项

mysql -u root -p

mysql>use mysql;

mysql>update user set host = '%' where user = 'root';

mysql>select host, user from user;

源码安装mysql并用Navicat for Mysql连接

到此数据库安装结束