linux下通过源码安装mysql

点点圈 提交于 2019-12-28 05:39:36

小白学习linux安装mysql数据库,期间还碰到了一些坑,记录一下。

1.首先从MySQL官网下载适合自己linux系统的文件。

 

2.通过Xftp将压缩包上传到自己的linux服务器/usr/local目录下

进入/usr/local 文件夹下

解压     tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz        

通过命令修改一下解压的文件夹名称

 mv mysql-5.7.26-linux-glibc2.12-x86_64 mysql

 

 

3.添加系统mysql组和mysql用户 

添加系统mysql组     groupadd mysql

添加mysql用户 useradd -r -g mysql mysql (添加完成后可用id mysql查看)

 

4.安装数据库

切到mysql目录 cd /usr/local/mysql

修改当前目录拥有者为mysql用户 chown -R mysql:mysql ./

安装数据库 bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

 

生成了临时密码

执行以下命令创建RSA private key 

  bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

修改当前目录拥有者为mysql用户 chown -R mysql:mysql ./

修改当前data目录拥有者为mysql用户 chown -R mysql:mysql data

 

5.配置my.cnf 

vim /etc/my.cnf  (按照上面步骤可以直接复制配置文件使用)

------------------------------start my.cnf配置文件-----------------------------------------

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
#不区分大小写 (sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 这个简单来说就是sql语句是否严格)
lower_case_table_names = 1
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid

------------------------------end my.cnf配置文件--------------------------------------------

 

添加开机启动     cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld

修改   vim /etc/init.d/mysqld   

添加路径

 basedir=/usr/local/mysql
 datadir=/usr/local/mysql/data

 

6.启动MySQL、登录修改密码

启动mysql   service mysqld start 

 加入开机起动    chkconfig --add mysqld  

 

输入 mysql -uroot -p 上面初始化时的密码

如果出现错误 需要添加软连接  ln -s /usr/local/mysql/bin/mysql /usr/bin

 

登录进去过后可以通过如下命令修改密码:

set password=password('需要修改的密码');

 

然后执行以下代码进行授权过后可以尝试从其他地方连接了:

  直接授权

  从任何主机上使用root用户,密码:youpassword(你的root密码)连接到mysql服务器:
  # mysql -u root -proot 
  mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

  操作完后切记执行以下命令刷新权限 
    flush privileges;

  (这里还有另外的授权方式,不过本人没有使用,如有想要了解的可以自己百度参考其他博客) 

 

如果以上操作都完成过后还是无法远程连接数据库,可能是3306端口没有开放,这里使用通过修改/etc/sysconfig/iptables文件来解决,你也可以通过命令行直接开放,自行百度:

直接编辑/etc/sysconfig/iptables文件:vi /etc/sysconfig/iptables  进入编辑模式,增加如下代码:

  -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

  然后保存退出,使用 service iptables restart 重启

这时再从其他地方连接数据库便可以成功连接了。

来源借鉴:CSDN
原文:https://blog.csdn.net/chudelong1/article/details/83185529

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!