centos7下mysql安装tar包

本文详细介绍在CentOS服务器上安装MySQL 5.7版本的步骤,包括下载、上传、解压、配置、安装、启动数据库,以及添加开机启动项、连接数据库、更改密码和权限设置的方法。

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

1、mysql官网下载需要的版本

本人下载5.7

mysql-5.7.25-el7-x86_64.tar

2、上传到centos服务器上

scp  .../.../mysql-5.7.25-el7-x86_64.tar   root@123.123.123.123:/home/mysql57.tar 

3、解压并

#tar -xvf  mysql57.tar

#tar xvf  mysql57.tar -C /opt/software

#ll

mysql-5.7.25-el7-x86_64.tar.gz
mysql57.tar
mysql-test-5.7.25-el7-x86_64.tar.gz

#tar xvf mysql-5.7.25-el7-x86_64.tar.gz

mysql-5.7.25-el7-x86_64/bin/myisam_ftdump
mysql-5.7.25-el7-x86_64/bin/myisamchk
mysql-5.7.25-el7-x86_64/bin/myisamlog
mysql-5.7.25-el7-x86_64/bin/myisampack
mysql-5.7.25-el7-x86_64/bin/mysql
mysql-5.7.25-el7-x86_64/bin/mysql_client_test_embedded
mysql-5.7.25-el7-x86_64/bin/mysql_config_editor
mysql-5.7.25-el7-x86_64/bin/mysql_embedded
mysql-5.7.25-el7-x86_64/bin/mysql_install_db
mysql-5.7.25-el7-x86_64/bin/mysql_plugin
mysql-5.7.25-el7-x86_64/bin/mysql_secure_installation
mysql-5.7.25-el7-x86_64/bin/mysql_ssl_rsa_setup
mysql-5.7.25-el7-x86_64/bin/mysql_tzinfo_to_sql
mysql-5.7.25-el7-x86_64/bin/mysql_upgrade
mysql-5.7.25-el7-x86_64/bin/mysqladmin
mysql-5.7.25-el7-x86_64/bin/mysqlbinlog

4、转移解压文件

# mv mysql-5.7.25-el7-x86_64 /home/mysql
# cd /home/mysql
# vi support-files/mysql.server    配置基础路径和数据路径
# mkdir data     数据文件目录
# yum install libaio   解决mysql报错 缺少libaio.so.1

5、安装数据库

bin目录下

# ./mysql_install_db --user=root --basedir=/opt/softwares/mysql57/  --datadir=/opt/softwares/mysql57/data

2019-04-14 20:17:22 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize

2019-04-14 20:17:22 [ERROR]   The data directory '/opt/softwares/mysql57/data' already exist and is not empty.

警告:mysql_install_db命令过时,新命令为 mysqld --initialize

错误:data目录下不空,需要清空

# ./mysqld --user=root --basedir=/home/mysql --datadir=/home/mysql/data --initialize

2019-04-14T12:34:24.487420Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2019-04-14T12:34:25.842841Z 0 [Warning] InnoDB: New log files created, LSN=45790

2019-04-14T12:34:25.981714Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.

2019-04-14T12:34:26.050629Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: a3b86e55-5eb1-11e9-8535-00163e13bb36.

2019-04-14T12:34:26.059288Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.

2019-04-14T12:34:26.059878Z 1 [Note] A temporary password is generated for root@localhost: 5uFeDrQS%aX!

记住临时密码 5uFeDrQS%aX!

6、启动数据库服务器

cd support-files

# ./mysql.server start
Starting MySQL.Logging to '/home/mysql/data/izbp1i0rqhtuqeu87eg9j5z.err'.
The server quit without updating PID file (/home/mysql/data[失败]i0rqhtuqeu87eg9j5z.pid).
[root@izbp1i0rqhtuqeu87eg9j5z support-files]# more /home/mysql/data/izbp1i0rqhtuqeu87eg9j5z.err
/home/mysql/data/izbp1i0rqhtuqeu87eg9j5z.err: 没有那个文件或目录

错误:实际是因为 data文件夹没有写的权限 

groupadd mysql 创建用户分组mysql

useradd -g mysqlsql mysql  创建用户mysql添加到分组mysql

chown -R mysql:mysql /home/mysql/data

# support-files/mysql.server start

至此可以启动数据库了。

为了让数据库开机启动,需要将数据库服务添加到开机启动项里面

7、添加开机启动项

ln -s /home/mysql/bin/mysql /usr/bin/mysql
cp /home/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --list msyqld
chkconfig --add mysqld
chkconfig --level 345 mysqld on
chkconfig mysqld on 

有的系统可以尝试systemctl ,本机不适用,如下

# systemctl enable mysqld
mysqld.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig mysqld on

8、连接数据并更改密码 

#mysql -uroot -p5uFeDrQS%aX!

mysql> update user set password=PASSWORD('Hu********') where user='root';
ERROR 1046 (3D000): No database selected
mysql> use mysql;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> use mysql;

正确的做法:

alter user 'root'@'localhost' identified by '*******';

Query OK, 0 rows affected (0.00 sec)

9、更改user配置,保证可以使用主机名访问 

mysql> update user set host= '%' where user='root';

mysql> flush privileges;

10、授权新帐号数据库权限 

create user 'username'@'%' identified by 'Hu******';

  grant all privileges on *.* to 'newuser'@'%' ; 

有时同时授予所有数据库反而不能成功 ,一个个授予权限反而能解决问题,如下:

grant all privileges on database1.* to 'newuser'@'%' ;

grant all privileges on database1.* to 'newuser'@'%' ;

最好加上下面语句强制刷新。

flush privileges

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值