windows、ubuntu、centos7下mysql 的安装与使用

一、windows 及ubuntu下安装
windows可以傻瓜式安装,另一种空闲了下来写,也不麻烦

ubuntu:
apt-get install mysql 强烈推荐使用ubuntu从这儿就很方便了

二、centos7: 下安装mysql
个人建议下载rpm 包yum 安装,那样简单很多,至于下载源 官网啊!网上很多地方都有 mysql 的yum 源 5.7版本的rpm包

下载 mysql源安装包

[root@localhost ~]# wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

-bash: wget: 未找到命令

wget 命令没有的话,就安装下
yum -y install wget

然后继续执行上面的 wget 命令
[root@localhost ~]# wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

在线安装Mysql
yum -y install mysql-community-server

启动Mysql服务
systemctl start mysqld

设置开机启动
[root@localhost ~]# systemctl enable mysqld
[root@localhost ~]# systemctl daemon-reload

修改root本地登录密码
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个临时的默认密码。记下它一会用来登录mysql,修改密码
[root@localhost ~]# cat /var/log/mysqld.log | grep password

[root@localhost ~]# mysql -u root -p
Enter password:

输入临时密码 进入mysql命令行;

mysql> alter user 'root'@'localhost' identified by '你要改的密码';

三、centos7 tar包下载安装
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz 这里选择下载5.7版本 `tar -xzvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz -C /usr/local/` 解压到 /usr/local 下

mv mysql-5.7.19-linux-glibc2.12-x86_64 /usr/local/mysql 移动到/usr/local下改名成mysql

3.1 建立myql用户组,及用户
`groupadd mysql` 建立mysql组 `useradd -rg mysql mysql` 创建mysql用户,并把它添加到系统mysql组里面 # -r 参数表示mysql用户是系统用户,不可用于登录系统 `password mysql` 给mysql用户输入一个密码
3.2 修改配置文件
'cd /usr/local/mysql` `mkdir data` 在mysql下添加data目录,先到配置文件去查看下默认目录 /etc/my.cnf

windows(my.ini) Linux (my-default.cnf)文件 在support-files 目录下
cd support-files/
复制my.cnf 到 /etc/my.cnf (mysql启动时自动读取)
输入命令cp my-default.cnf /etc/my.cnf

然后配置文件中修改字符乱码等问题

vim /etc/my.cnf

[mysql]
default-character-set=utf8     #解决客户端乱码
[mysqld]
default-storage-engine=INNODB
character_set_server=utf8     #解决服务端乱码
3.3 实现开机启动
实现开机启动: 复制mysql.server 到/etc/init.d/ 开机启动目录下 【目的想实现mysqld -install这样开机自动执行】 `cp mysql.server /etc/init.d/mysql ` 注意: /etc/init.d/ 目录,等效于注册表HKEY_LOCAL_MACHINESYSTEMControlSet001services记录有那些服务

也可以在安装好好输入以下命令实现开机启动:注意(这会还没安装完成别输入以下,启动服务和开机启动命令)

#安装好后先启动Mysql服务
[root@localhost ~]# systemctl start mysqld

#实现开机启动
[root@localhost ~]# systemctl enable mysqld
[root@localhost ~]# systemctl daemon-reload

修改/etc/init.d/mysql 参数
vim /etc/init.d/mysql
把程序运行目录,和data两个目录位置给它
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

3.4 初始化数据库
`cd /usr/local/` ----> `chown -R mysql mysql/` 修改目录权限,把mysql目录的权限给mysql用户 `chgrp -R mysql mysql/`也改到mysql用户组. 或者一个命令: `cd /usr/local/` ----->`chown -R mysql:mysql ./mysql` chown[选项]...[所有者][:[组]] 文件...-R 表示目录下所有文件

安装和初始化数据库命令:
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/--datadir=/usr/local/mysql/data/


这儿会生成一个临时密码,记住。该密码也保存在: /var/log/mysqld.log 文件中
cat /var/log/mysqld.log | grep password

嗯狗头像那个位置就是了,临时密码

3.5 启动Mysql服务,并登陆修改密码
直接启动:bin目录下
[root@localhost bin]# ./mysqld_safe --user=mysql &  #(&符表示提交到后台运行mysql服务)

或系统启动:随便目录

[root@localhost ~]# systemctl start mysqld

登录mysql:

[root@localhost ~]# mysql -uroot -p    #输入刚才记下的临时密码,忘记了去 /var/log/mysqld.log 里面查
#接着输入密码

修改密码:

alter user 'root'@'localhost' identified by 'new_password'; #new_password就是换成你自己想要改的密码 ,注意:mysql的每一条命令后面都要加 ; 分号。

以后也可以通过修改密码字段:注意mysql 5.7 以后 密码字段名称变成:authentication_string

update mysql.user set authentication_string=password('你的密码') where user='root';

创建/授权用户:
查看 test 库是否存在
不存在就 :
create database test;

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| webproject         |
+--------------------+
5 rows in set (0.81 sec)

mysql> grant all on test.* to '想要创建的用户名'@'%' identified by 'password';    #1
Query OK, 0 rows affected, 1 warning (1.13 sec)

1处all 代表所有权限都给了,可以给以下权限中选,查: select 插入:insert 改:update 删: delete 创建: create 删除:drop 等等......嫌麻烦就 all 全给了

然后 on 数据库名,点 . *代表下面的所有库都可以访问,如果是root用户远程授权,就可以 grant all on . 所有权限,所有库。 '想要创建的用户名' 自己想一个 @ 后面跟 ip 地址,% 代表所有地方都可以访问,localhost 代表只能本地访问, 后面的 identified by ‘password’ 在这儿输入你的密码就好了

远程访问
如果有用户需要远程访问:那就需要关闭linux的防火墙 关闭防火墙 (或者给防火墙开放端口),这样window(远程)才能连接上 关闭防火墙命令: `systemctl stop firewalld.service` #关闭防火墙

一般还是别关防火墙:开端口

[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success

[root@localhost ~]# firewall-cmd --reload
success

再登录Mysql
mysql>flush privileges; 刷新下

3.7 远程访问mysql
远程链接数据库,或者重启(init 6)。 输入命令:mysql –hIP地址 -uroot -p123456
2. 8 如果前面没有设置自启,或者失败了也可以这样
没事忽略这步也ok

添加mysql服务
输入命令 chkconfig --add mysql

设置mysql服务为自动
输入命令 chkconfig mysql on

原文地址:https://www.cnblogs.com/shiqi17/p/9363473.html