linux源码安装mysql_linux下通过源码安装mysql

小白学习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

527ba355541d8264c8b8f91f1972fd5c.png

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

362d296bd29e548daf50ec29347be89d.png

生成了临时密码

执行以下命令创建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

1b58fd5265ff22f643a34be02e1d2f5d.png

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

启动mysql   service mysqld start

加入开机起动    chkconfig --add mysqld

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

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

90adcbd69949bdedcba22582620efe21.png

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

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 重启

f93a780cbbfcb67918a7bb36942c9dce.png

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

来源借鉴:CSDN

原文:https://blog.csdn.net/chudelong1/article/details/83185529

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值