linux 安装mysql

安装前,我们可以检测系统是否自带安装 MySQL:

rpm -qa | grep mysql

如果你系统有安装,那可以选择进行卸载:

rpm -e mysql  // 普通删除模式
rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

下载mysql安装包

wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

-2018-06-06 16:41:46--  https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
正在解析主机 dev.mysql.com (dev.mysql.com)... xxxx
正在连接 dev.mysql.com (dev.mysql.com)|xxxxx|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 302 Found
位置:https://repo.mysql.com//mysql57-community-release-el7-9.noarch.rpm [跟随至新的 URL]
--2018-06-06 16:41:48--  https://repo.mysql.com//mysql57-community-release-el7-9.noarch.rpm
正在解析主机 repo.mysql.com (repo.mysql.com)... xxxxx
正在连接 repo.mysql.com (repo.mysql.com)|xxxx|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:9224 (9.0K) [application/x-redhat-package-manager]
正在保存至: “mysql57-community-release-el7-9.noarch.rpm”

100%[==========================================================>] 9,224       --.-K/s 用时 0s      

2018-06-06 16:41:48 (169 MB/s) - 已保存 “mysql57-community-release-el7-9.noarch.rpm” [9224/9224])

安装

rpm -ivh mysql57-community-release-el7-9.noarch.rpm

准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql57-community-release-el7-9  ################################# [100%]

下载安装依赖包

yum install mysql-server

已加载插件:fastestmirror, langpacks
mysql-connectors-community                                                   | 2.5 kB  00:00:00     
mysql-tools-community                                                        | 2.5 kB  00:00:00     
mysql57-community                                                            | 2.5 kB  00:00:00     
(1/3): mysql-connectors-community/x86_64/primary_db                          |  20 kB  00:00:00     
(2/3): mysql-tools-community/x86_64/primary_db                               |  41 kB  00:00:00     
(3/3): mysql57-community/x86_64/primary_db                                   | 144 kB  00:00:00     
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * extras: mirrors.cn99.com
 * updates: mirrors.cn99.com
正在解决依赖关系 
....

第一次下载这里会比较慢

启动 MySQL:
[root[@localhost](https://my.oschina.net/u/570656) xx]# systemctl start mysqld
查看 MySQL 运行状态:
[root[@localhost](https://my.oschina.net/u/570656) xx]# systemctl status mysqld
停止 MySQL:
[root[@localhost](https://my.oschina.net/u/570656) opt]# systemctl stop mysqld
重启 MySQL:
[root[@localhost](https://my.oschina.net/u/570656) opt]# systemctl restart mysqld

验证是否安装成功
[root[@localhost](https://my.oschina.net/u/570656) opt]# mysqladmin --version
mysqladmin  Ver 8.42 Distrib 5.7.22, for Linux on x86_64

注意: Mysql5.7默认安装之后root是有密码的。

获取MySQL的临时密码 为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log。 只有启动过一次mysql才可以查看临时密码

[root@localhost opt]# grep 'temporary password' /var/log/mysqld.log
2018-06-06T09:06:49.274350Z 1 [Note] A temporary password is generated for root@localhost: 7Zk_*Td5<FKf
[root@localhost opt]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 5.7.22

修改密码

mysql> alter user 'root'@'localhost' identified by 'root123' ;
密码太简单就会提示下面的错误码
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.04 sec)

mysql>

退出mysql

mysql> quit Bye

查看mysql服务是否启动

[root[@localhost](https://my.oschina.net/u/570656) bin]# ps -ef | grep mysql 

关闭目前运行的 MySQL 服务器

[root[@localhost](https://my.oschina.net/u/570656) opt]# cd /usr/bin 

[root[@localhost](https://my.oschina.net/u/570656) bin]# ./mysqladmin -u root -p shutdown

再登录
 

[root[@localhost](https://my.oschina.net/u/570656) opt]# mysql -u root -p 

Enter password: 

创建数据库

mysql> create DATABASE RUNOOB;

mysql> CREATE DATABASE IF NOT EXISTS RUNOOB DEFAULT CHARSET utf8 COLLATE utf8generalci; Query OK, 1 row affected, 1 warning (0.05 sec) 

如果数据库不存在则创建,存在则不创建,并设置数据库的字符集为utf-8 删除数据库 mysql> drop database RUNOOB;

 

要先切换数据库为RUNOOB,再创建数据库表

mysql> use RUNOOB 

Database changed 

mysql> CREATE TABLE IF NOT EXISTSrunoobtbl( ->runoobidINT UNSIGNED AUTO_INCREMENT, ->runoobtitleVARCHAR(100) NOT NULL, ->runoobauthorVARCHAR(40) NOT NULL, ->submissiondateDATE, -> PRIMARY KEY (runoobid) -> )ENGINE=InnoDB DEFAULT CHARSET=utf8; 

Query OK, 0 rows affected (0.56 sec) 

否则会包下面的错误: ERROR 1046 (3D000): No database selected

 

检查表是否创建成功

mysql> show tables; 
+------------------+ 
| Tables_in_RUNOOB | 
+------------------+ 
| runoob_tbl | 
+------------------+ 
1 row in set (0.00 sec)

查看表的详细字段

 mysql> desc runoobtbl -> ; 
+-----------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------------+------------------+------+-----+---------+----------------+ | runoobid | int(10) unsigned | NO | PRI | NULL | autoincrement | | runoobtitle | varchar(100) | NO | | NULL | | | runoobauthor | varchar(40) | NO | | NULL | | | submissiondate | date | YES | | NULL | | +-----------------+------------------+------+-----+---------+----------------+ 4 
rows in set (0.16 sec)

 

远程访问数据库设置

use mysql;

UPDATE user SET `Host` = '%' WHERE `User` = 'root' LIMIT 1;

mysql增加权限:mysql库中的user表新增一条记录host为“%”,user为“root”。

%表示允许所有的ip访问

开放防火墙端口

[root@xxxx]# firewall-cmd --add-port=3306/tcp --permanent
success
[root@xxx]# firewall-cmd --reload
success

查看是否开通

[root@localhost bin]# firewall-cmd --query-port=3306/tcp
yes

 

查看防火墙状态

systemctl status firewalld.service
启动|关闭|重新启动  防火墙
systemctl [start|stop|restart] firewalld.service 

 

修改数据库配置文件my.cnf 

这里端口可以根据实际情况修改

[root@localhost bin]# vim /etc/my.cnf


# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
# listen on
port = 3306
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
port = 3306
default-character-set = utf8

[mysql]
default-character-set = utf8

bind-address = 0.0.0.0
[root@localhost bin]# 

主要增加端口的监听及字符编码的设置

# listen on
port = 3306

[client]
port=3306

[mysql]
default-character-set = utf8

bind-address = 0.0.0.0

[root@localhost bin]# netstat -tunpl -A inet6
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::8080                 :::*                    LISTEN      13253/java          
tcp6       0      0 :::22                   :::*                    LISTEN      1026/sshd           
tcp6       0      0 ::1:631                 :::*                    LISTEN      1031/cupsd          
tcp6       0      0 ::1:25                  :::*                    LISTEN      1284/master         
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      13253/java          
tcp6       0      0 :::8009                 :::*                    LISTEN      13253/java          
tcp6       0      0 :::3306                 :::*                    LISTEN      119702/mysqld       
udp6       0      0 :::58173                :::*                                114461/dhclient

 

 

 

转载于:https://my.oschina.net/saulc/blog/1825473

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值