Linux(CentOs) 下安装 Mysql

本文档详细介绍了如何在CentOS系统上安装MySQL数据库,包括下载与解压、安装服务、用户组与用户创建、数据库初始化、权限配置等关键步骤,并提供了连接数据库的方法以及如何进行基本的安全设置。

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

参考地址:http://www.jb51.net/article/104107.htm

参考地址:http://jingyan.baidu.com/article/a378c9609eb652b3282830fd.html

参考地址:http://www.cnblogs.com/xxoome/p/5864912.html

 

 

第一步:下载Mysql并解压

# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

# wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

如果提示-bash: wget: 未找到命令,请先执行  # yum install wget  --安装 wget

如果提示certificate common name “www.mysql.com” doesn’t match requested host name “dev.mysql.com”.

就 # wget --no-check-certificate http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

安装mysql服务
 

# tar zxf mysql-mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz -C /usr/local/   (解压到/usr/local/目录下)

# mv /usr/local/mysql-5.6.33-linux-glibc2.5-x86_64/ /usr/local/mysql     (重命名为mysql)

 

 

第二步:添加用户组和用户(原因:mysql必须保证给他赋权的用户具有对文件夹操作的权限,给mysql赋权的时候又不希望赋root用户,所以要给mysql专门创建一个用户。  操作步骤:先创建用户组,再在这个用户组下创建用户,然后让用户对某一个文件夹有操作的权限)

# groupadd mysql   (添加用户组)

# useradd -g mysql mysql  (添加用户mysql 到用户组mysql)

 

安装插件库:

# yum install -y perl-Data-Dumper

# yum install -y libaio

# yum -y install autoconf

 

第三步:安装数据库

# cd /usr/local/mysql

chown -R mysql:mysql ./   --设置用户组mysql及下面的mysql用户对当前目录有操作权限

./scripts/mysql_install_db --user=mysql (安装数据库)

 

第四步:修改目录权限

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

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

 

第五步:添加mysql服务开机自启动

#  cp support-files/mysql.server /etc/init.d/mysql   (复制mysql到服务自动启动里面)

#  chmod +x /etc/init.d/mysql    (赋予可执行权限)

#  chkconfig --add mysql     (添加服务)

#  chkconfig --list   (显示服务列表)

如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则执行

#  chkconfig --level 345 mysql on

# mkdir /var/log/mariadb    (创建日志文件夹,固定/var/log/mariadb不能修改)

# vi /etc/init.d/mysql    (修改启动脚本,修改项如下)

basedir=/usr/java/mysql/

datadir=/usr/java/mysql/data

# service mysql start     (启动Mysql数据库)

# ps -ef | grep mysql     (查看Mysql是否启动成功)

# service mysql stop        (关闭mysql)

# service mysql restart       (重新启动mysql)

# service mysql status        (查看运行状态)

# cat /etc/my.cnf          (my.cnf里面保存了mysql的配置信息,从中可以找到mysql的日志文件路径)

# cat /var/log/mysqld.log     (查看mysql日志)

 

第六步:配置环境变量(主要是方便操作,不配置也可以)

# vi /etc/profile

export PATH=$PATH:/usr/java/mysql/bin  (这样可以在任何地方用mysql命令了)

# source /etc/profile   (加载环境变量)

 

第七步:连接数据库

# mysql -uroot -p  (连接数据库,默认数据库的root用户没有密码)

这里有可能出错: Can't connect to local MySQL server through socket '/tmp/mysql.sock'

解决方法:打开/etc/my.cnf,看看里面配置的socket位置是什么目录。“socket=/var/lib/mysql/mysql.sock”

路径和“/tmp/mysql.sock”不一致。建立一个软连接:ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

到这里任务算是完成了。之后就可以创建数据库用户,然后使用数据库了

 

第八步:权限控制,去除匿名用户

# mysql -ux3         (测试匿名用户登录)

> show databases    (查询ux3可以操作的数据库)

> quit        (退出数据库连接)

使用root用户登录,删除匿名用户

#mysql -uroot       (默认数据库的root用户没有密码)

>delete from mysql.user where User='';     (删除匿名用户)

>flush privileges;      (强制刷新权限)

>quit        (退出数据库连接)

至此匿名用户就被删除了

 

第九步:设置root用户的密码

格式:mysqladmin -u用户名 -p旧密码 password 新密码
# mysqladmin -u root password 123

 

第十步:设置远程连接的用户权限

#mysql -uroot -p       (使用root用户登录)

>GRANT ALL PRIVILEGES ON *.* TO 'itoffice'@'%' IDENTIFIED BY 'itoffice' WITH GRANT OPTION;

(第一个itoffice表示用户名,%表示所有的电脑都可以连接,也可以设置某个ip地址运行连接,第二个itoffice表示密码)。

>flush privileges;    (使命令立即生效)

>SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;    (查询数据库的用户)

>exit     (退出数据库连接)

设置防火墙允许3306端口 (因为CentOs 默认使用的是firewall作为防火墙,所以iptables设置没效果。这里有两种解决方法:1是停止firewall启用iptables.2是在firewall上开放端口。我采用的是第2种方式,将在下篇《Linux(CentOs7.2) 下使用 firewall 配置防火墙及端口 》中介绍)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值