Linux CentOS安装配置MySQL数据库

本文介绍在CentOS系统中安装MySQL数据库的过程,并提供配置MySQL服务、更改密码及设置远程访问的方法。同时,还提供了常见问题的解决方案。

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

没什么好说的,直接正面刚吧。


安装mysql数据库

  a)下载mysql源安装包:wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

如果centos6.6安装 :wget http://dev.mysql.com/get/mysql57-community-release-el6-5.noarch.rpm

  b)安装mysql源:yum localinstall mysql57-community-release-el7-8.noarch.rpm

    若结尾出现complete!,则说明MySQL源安装完成

   c)检测是否安装完成:yum repolist enabled | grep "mysql.*-community.*"

  

  d)安装mysql:yum install mysql-community-server

    若结尾出现Complete!, 则MySQL安装完成

  e)设置开启启动mysql服务:systemctl enable mysqld

   f)查看安装的mysql版本:rpm -aq | grep -i mysql

    

  g)启动MySQL服务:systemctl restart mysqld

  h)查看MySQL初始密码:grep 'A temporary password' /var/log/mysqld.log

    

  i)更改MySQL密码:mysqladmin -u root -p'旧密码' password '新密码'

    

    这里更改密码出了问题,更改失败,这是因为密码太过简单的原因。有两个接解决方法:

    方法一:把密码设置复杂点(这是最直接的方法)

    方法二:关闭mysql密码强度验证(validate_password)

        编辑配置文件:vim /etc/my.cnf, 增加这么一行validate_password=off

        编辑后重启mysql服务:systemctl restart mysqld

  j)设置mysql能够远程访问:

    登录进MySQL:mysql -uroot -p密码

     增加一个用户给予访问权限:grant all privileges on *.* to 'root'@'ip地址' identified by '密码' with grant option; //可将ip改为%%,表示开启所有的

    

    OK,我本地连接试下。

    

好了,到这里就结束了,祝大家别出BUG。

最近有安装了一遍,在修改密码的时候出现了这样的报错。

提示,需要更新随机密码。

更新密码:   

mysql> set password=password('12345qwe');
Query OK, 0 rows affected, 1 warning (0.00 sec)

更新完成后就可以愉快的授权和修改了。

补充一点东西::

一, 创建用户: 

命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 

说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器. 

例子: CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456'; 
CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456'; 
CREATE USER 'pig'@'%' IDENTIFIED BY '123456'; 
CREATE USER 'pig'@'%' IDENTIFIED BY ''; 
CREATE USER 'pig'@'%'; 

二,授权: 

命令:GRANT privileges ON databasename.tablename TO 'username'@'host' 

说明: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*. 

例子: GRANT SELECT, INSERT ON test.user TO 'pig'@'%'; 
GRANT ALL ON *.* TO 'pig'@'%'; 

注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令: 
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION; 

分享一下SSH连接数据库的方法:

直接上截图吧:

shh

附mysql的配置文件

tmp_table_size = 1024M
max_heap_table_size = 1024M
max_connections = 1500
max_connect_errors = 1000000
join_buffer_size = 128M
max_allowed_packet = 64M
interactive_timeout = 1200
wait_timeout = 600
read_buffer_size = 16M
read_rnd_buffer_size = 8M
sort_buffer_size = 8M
innodb_buffer_pool_size = 2G  
innodb_log_buffer_size=16M
innodb_log_file_size=1G
innodb_log_files_in_group=2
innodb_max_dirty_pages_pct=75
innodb_buffer_pool_dump_pct=75 
innodb_lock_wait_timeout=50 
innodb_flush_method = O_DIRECT
query_cache_size  =64M
table_open_cache = 5000 
table_definition_cache = 5000
thread_cache_size = 512
slow-query-log=1
binlog_cache_size=2M
open_files_limit = 65535
bulk_insert_buffer_size = 512M
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
character-set-server=utf8
lower_case_table_names=1
default_password_lifetime=0

可能会遇到的问题

 解决方法

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值