Centos6.9源码安装Mysql5.7.21并远程连接


蓝色字体表示执行的命令,粉红颜色表示内容,其他颜色为提示+注释

1.创建了一个临时存放的文件夹:
make /app && cd /app
Mysql官网
2.下载Mysql SoureCode版:
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21.tar.gz
tar -xvf mysql-5.7.21.tar.gz
mv mysql-5.7.21 /usr/local/mysql
cd /usr/local/mysql
3.从MySQL 5.7.5开始Boost库是必需的:
Boost是一个功能强大、开源、跨平台、免费的c++程序库
Boots官网
下面的博客有对boost1.59编译安装详细介绍, 可以忽略。
https://www.cnblogs.com/oracleloyal/p/6060779.html

下载boost依赖1.59.0
wget https://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
tar -xvf boost_1_59_0.tar.gz
cd boost_1_59_0
4.快速安装Boost(执行.b2若报错error: no command provided, default command 'g++' not found,就执行第五步,先安装编译代码所需要的包
./bootstrap.sh   
./b2    
./b2 install  
5.安装编译代码所需要的包:
yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel perl-Data-Dumper net-tools

6.通过cmake编译安装mysql(返回到mysql安装路径/usr/local/mysql)
DCMAKE_INSTALL_PREF 为mysql路径 按需可自定义,
 DDOWNLOAD_BOOST=1 -DWITH_BOOST为
#mysql路径按需更改,这个要确认好!
cmake \
 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
 -DMYSQL_UNIX_ADDR=/usr/local/mysql \
 -DDEFAULT_CHARSET=utf8 \
 -DDEFAULT_COLLATION=utf8_general_ci \
 -DWITH_INNOBASE_STORAGE_engine=1 \
 -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
 -DMYSQL_DATADIR=/data/mysqldb \
 -DMYSQL_TCP_PORT=3306 \
 -DENABLE_DOWNLOADS=1 \
  -DDOWNLOAD_BOOST=1 -DWITH_BOOST= /usr/local/mysql/ boost_1_59_0

【【【【【【【【【【【【【【
如果 cmake 报错(若正常安装,可忽略),最可能你就是所下载的mysql版本可能不对,所带来的错误。
在此还强调一下, 如果你的版本确认是正确的,但是还是出现问题,
建议通过-yum卸载 yum remove cmake* 把camke卸载 从官网上下载cmake编译安装
#版本自己随意
wget https://cmake.org/files/v3.11/cmake-3.11.0-rc3.tar.gz
tar -xvf cmake-3.11.0-rc3.tar.gz
cd cmake-3.11.0-rc3
./configure
make && make install
做一个链接:
例①
ln -s /usr/local/bin/cmake /usr/bin
例②
ln -s /usr/local/mysql/'cmake路径'/cmake /usr/local/bin/cmake
再执行上面第6段的cmake编译安装mysql
】】】】】】】】】】】】】】
返回到mysql安装路径/usr/local/mysql执行编译安装mysql
make && make install
创建mysql用户(但是不能使用mysql账号登陆系统)
 useradd -g mysql mysql -s /sbin/nologin
第二种情况:当用户已经建立了,在建立时没有控制,现在需要取消用户登录权限,可以使用以下命令
切换到root用户,修改/etc/passwd文件
vi /etc/passwd
找到你要修改的用户所在的那一行,例如username:x:502:502::/home/username:/bin/bash,修改为以下代码
username:x:502:502::/home/username:/sbin/nologin
修改权限
chown -R mysql.mysql /usr/local/mysql
进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表
datadir路径自己定,最好放磁盘大一些的文件夹下。
cd /usr/local/mysql
./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
若提示mysql_install_db找不到命令路径,就先查询一把看看,
find / -name mysql_install_db 然后再执行
'绝对路径'/ mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql修改权限
chown -R mysql.mysql /usr/local/mysql
添加服务,拷贝服务脚本到init.d目录,并设置开机启动
 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
修改mysql的配置文件
vi /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/data/mysql.sock
#socket=/var/lib/mysql/mysql.sock
user=mysql
#若取消注释,表示允许本地无密码登陆。
skip-grant-tables
#表示允许任何IP都可以访问mysql服务
bind-address = 0.0.0.0

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql]
socket=/usr/local/mysql/data/mysql.sock

wq保存完毕之后,重启mysql
service mysql restart

若报错权限不足,添加执行

chmod a+wrx /etc/init.d/ mysql
7.远程登录mysql
重启成功后免密登录mysql
mysql -uroot -p 若报错找不到mysql命令,是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。
-bash: mysql: command not found

 ln -s /usr/local/mysql/bin/mysql /usr/bin
mysql修改用户的密码
mysql.user表示mysql库中的user表
红色的password表示加密(mysql5.7以上的版本更新密码的方式与旧版本有所不同)
update mysql.user set authentication_string = password (“新密码”) where User="root" ;
flush privileges;
exit
将配置文件中的参数 skip-grant-tables注释掉再重建
mysql创建用户并授权
grant all privileges on *.* to 新用户名 @'%' identified by '新密码';
flush privileges;




猜你喜欢

转载自blog.csdn.net/wayne_primes/article/details/79565883
今日推荐