linux安装mysql

一、安装mysql

以mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz版本为例,本人亲测有效:
1、下载安装包:
wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

2、解压至/usr/local/mysql目录:
tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz -C /usr/local/mysql

3、在/usr/local/mysql目录新建data目录
cd /usr/local/mysql
mkdir -p data

4、查看是否有mysql用户组(groups),没有则添加
groupadd mysql #添加用户组
useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql #新建msyql用户禁止登录shell

5、改变/usr/local/mysql目录的权限
chown -R mysql:mysql /usr/local/mysql

6、初始化mysql
./bin/mysql_install_db –user=mysql –basedir=/usr/local/mysql/ –datadir=/usr/local/mysql/data/

会有提示:
[root@iZwz95rn6xcyrijlpfhyjlZ mysql]# ./bin/mysql_install_db –user=mysql –basedir=/usr/local/mysql/ –datadir=/usr/local/mysql/data/
2018-06-11 23:13:16 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld –initialize
2018-06-11 23:13:22 [WARNING] The bootstrap log isn’t empty:
2018-06-11 23:13:22 [WARNING] 2018-06-11T15:13:16.782882Z 0 [Warning] –bootstrap is deprecated. Please consider using –initialize instead

或者也可以使用此命令:

 bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

7、看下/etc/my.cnf文件是否生成
生成内容:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

如果没有生成,则复制:
cp -a ./support-files/my-default.cnf /etc/my.cnf #会有一个选择是否覆盖原有文件,直接按 y回车选择是就可以
my-default.cnf文件内容如下:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

# 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

# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....

# 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

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

如果support-files/目录下没有my-default.cnf文件,则自己手动编辑一个/etc/my.cnf文件,内容则为上面生成的内容即可

8、把mysql放到本地服务中
cp -a support-files/mysql.server /etc/init.d/mysqld

9、编辑/etc/my.cnf,修改basedir、datadir对应的路径
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /tmp/mysql.sock (不配置也可以,默认生成的)

10、启动mysql服务:
service mysqld start

11、启动成功之后,查看mysql服务:
ps -ef | grep mysql –color
显示如下:

[root@iZwz95rn6xcyrijlpfhyjlZ mysql]# ps -ef|grep mysql
root      7056     1  0 23:27 pts/0    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/iZwz95rn6xcyrijlpfhyjlZ.pid
mysql     7199  7056  0 23:27 pts/0    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/iZwz95rn6xcyrijlpfhyjlZ.err --pid-file=/usr/local/mysql/data/iZwz95rn6xcyrijlpfhyjlZ.pid --port=3306

可以看到mysql服务启动成功

12、查看mysql初始化密码:
cat /root/.mysql_secret

[root@iZwz95rn6xcyrijlpfhyjlZ mysql]# cat /root/.mysql_secret 
# Password set for user 'root@localhost' at 2018-06-11 23:13:16 
tp/<DI-+%FWb

13、连接mysql数据库(我是在/usr/local/mysql目录下做的如下命令):
bin/mysql -u root -p
然后粘贴刚刚复制的密码,连接成功

14、修改密码:
set password for ‘root’@localhost=password(‘123456’);

此时此刻,mysql安装完成

接下来做mysql的远程登录访问设置:

二、远程连接mysql

1、连接mysql
bin/mysql -uroot -p

2、连接好之后,查看所有数据库
show databases;

3、使用mysql数据库
use mysql

4、查看mysql下user的权限:
mysql> select user, host from user;
+———–+———–+
| user | host |
+———–+———–+
| mysql.sys | localhost |
| root | localhost |
+———–+———–+
2 rows in set (0.00 sec)

我们发现root用户只有localhost访问权限,则需要修改远程权限

5、修改root用户的远程访问权限:
mysql> update user set host=’%’ where user = ‘root’;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
%表示所有服务器都可以进行连接服务器

6、刷新权限:
flush privileges;

7、使用mysql连接工具navicat连接:
这里写图片描述

我们输入服务器ip地址及用户名密码后看到数据库连接成功

那么,我们就搞定咯~~

如果远程连接还连不上,那就考虑对应服务器的3306端口是否开放,一般买的云服务器,都有对应的安全规则设置的,把3306端口加进去开放就好啦!!

三、mysql环境变量设置:

把mysql设置到环境变量中,则任意位置都可以访问mysql命令,不需要到安装的bin目录去执行:
设置如下:

export PATH=/usr/local/mysql/bin/:$PATH

/usr/local/mysql/bin/为安装mysql的bin目录,执行之后,我们在任意位置就可以访问mysql啦:
比如在soft目录下访问:

[root@iZwz95rn6xcyrijlpfhyjlZ soft]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.7.17 MySQL Community Server (GPL)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值