mysql 安装及配置权限

本文详细介绍了在Linux环境下安装MySQL数据库的过程,包括下载安装包、解压、创建数据库文件目录、设置用户权限、初始化数据库、更改默认密码、配置远程访问等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux下MySQL安装

 1. 下载mysql安装包   下载地址:http://dev.mysql.com/downloads/mysql/

  2. 解压文件

     解压缩到/usr/local/下面,mysql的主目录命名为mysql

     如果是.tar.gz文件直接解压  我下载的是.tar 文件 执行

    [root@localhost local]# tar -xvf mysql-5.7.16-linux-glibc2.5-i686.tar

  [root@localhost local]# tar xvf mysql-5.7.16-linux-glibc2.5-i686.tar.gz

  [root@localhost local]# tar xvf mysql-5.7.16-linux-glibc2.5-i686.tar.gz

    解压后的文件夹重命名

     [root@localhost local]# mv mysql-5.7.16-linux-glibc2.5-i686 /mysql

 3. 3、在mysql下面创建data数据库文件目录
[root@localhost local]# mkdir mysql/data
4、创建mysql的用户组和用户,并对mysql目录设置用户组和用户
[root@localhost local]# groupadd mysql
[root@localhost local]# useradd mysql -g mysql
[root@localhost local]# cd mysql
[root@localhost mysql]# pwd
/usr/local/mysql
[root@localhost mysql]# chown -R mysql .
[root@localhost mysql]# chgrp -R mysql .
5、初始化mysql并启动mysql服务
[root@localhost mysql]# cd /usr/local/mysql/bin
[root@localhost bin]# yum install libaio
已加载插件:fastestmirror, refresh-packagekit, security
设置安装进程
Loading mirror speeds from cached hostfile
* base: mirrors.opencas.cn
* extras: mirrors.btte.net
* updates: mirrors.btte.net
包 libaio-0.3.107-10.el6.i686 已安装并且是最新版本
无须任何处理
[root@localhost bin]# mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
2016-08-11 12:00:25 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2016-08-11 12:00:31 [WARNING] The bootstrap log isn't empty:
2016-08-11 12:00:31 [WARNING] 2016-01-09T04:00:29.262989Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead
2016-08-11T04:00:29.264643Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
2016-08-11T04:00:29.264653Z 0 [Warning] Changed limits: table_open_cache: 431 (requested 2000)
[root@localhost bin]# cd /usr/local/mysql/support-files
[root@localhost support-files]# ./mysql.server start

6. 登录mysql,此版本最新版不许空密码登录

    都是在终端命令行下面操作的,建议在操作前重新设置一下path。

    方法一:
1.关闭mysql
# service mysqld stop
2.屏蔽权限
# mysqld_safe --skip-grant-table
屏幕出现: Starting demo from .....
3.新开起一个终端输入
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误
mysql> \q

方法二:
1.关闭mysql
# service mysqld stop
2.屏蔽权限
# mysqld_safe --skip-grant-table
屏幕出现: Starting demo from .....
3.新开起一个终端输入
# mysql -u root mysql
mysql> delete from user where USER='';
mysql> FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误
mysql> \q

7. 复制配置文件

[root@localhost mysql] cp support-files/my-medium.cnf /etc/my.cnf

执行mysql的命令权限;

ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

8. 将mysqld服务加入开机自启动项。
*首先需要将scripts/mysql.server服务脚本复制到/etc/init.d/,并重命名为mysqld。
[root@localhostmysql] cp support-files/mysql.server /etc/init.d/mysqld
*通过chkconfig命令将mysqld服务加入到自启动服务项中。
[root@localhost mysql]#chkconfig --add mysqld
*注意服务名称mysqld就是我们将mysql.server复制到/etc/init.d/时重命名的名称。
*查看是否添加成功
[root@localhost mysql]#chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

9. 重启系统,mysqld就会自动启动了。
*检查是否启动
[root@localhost mysql]#netstat -anp|grep mysqld
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2365/mysqld 
unix 2 [ ACC ] STREAM LISTENING 14396 2365/mysqld /tmp/mysql.sock
*如果不想重新启动,那可以直接手动启动。
[root@localhost mysql]#service mysqld start
Starting MySQL.. SUCCESS!
10 运行客户端程序mysql,在mysql/bin目录中,测试能否连接到mysqld。
[root@localhost mysql]#/usr/local/mysql/bin/mysql -uroot -p

11、改mysql的root密码,新密码在此为'123456'

mysql> set password=password('123456');

Query OK, 0 rows affected, 1 warning (0.00 sec)


12、设定远程登录mysql。在Linux下为了安全,默认是不允许mysql本机以外的机器访问mysql数据库服务,因此需要重新授权root。方便远程访问。


mysql> use mysql;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A


Database changed

mysql> select Host,User from user;

+-----------+-----------+

| Host | User |

+-----------+-----------+

| % | root |

| localhost | mysql.sys |

| localhost | root |

+-----------+-----------+

3 rows in set (0.00 sec)


mysql> GRANT ALL PRIVILEGES ON *.* TO root@'%' identified by '123456';

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)


授权语句最后的‘123456’是mysql数据库root用户的新密码。


13、非必要的步骤,如果远程连不上,估计是防火墙的问题,关闭试试:
[root@localhost mysql]# service iptables stop
setenforce 0iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:清除防火墙规则: [确定]
iptables:正在卸载模块: [确定]
[root@localhost mysql]# setenforce 0
setenforce: SELinux is disabl

参考链接:https://www.cnblogs.com/luckycn/p/7289995.html
修改默认密码:https://blog.youkuaiyun.com/yangning007911/article/details/78410898

转载于:https://my.oschina.net/yanjava/blog/3004670

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值