MySQL安装


进入命令:mysql -uroot -proot
退出:输入exit命令即可


5.6版本安装包
mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
my.cnf(mysql配置文件)

在root下创建mysql用户:useradd mysql
安装目录
tar -xvf mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
移动(1.迁移到/usr/local下  2./usr/local/mysql不能存在)
mv mysql-5.6.39-linux-glibc2.12-x86_64 /usr/local/mysql

创建数据目录:mkdir -p /home/mysql3306/mysql3306 
创建日志目录:mkdir -p /home/mysql3306/logs
赋权:chown mysql.mysql -R /home/mysql3306

修改配置文件:innodb_buffer_pool_size  = 256M(大小根据实际情况而定)
复制配置文件:cp /soft/my.cnf /etc/

初始化mysql(初始化一些mysql的系统表结构) (只需要做一次就ok)
/usr/local/mysql/scripts/mysql_install_db  --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --user=mysql 

初始化完成后

[root@master /home/mysql3306/mysql3306]$ls
ibdata1      ib_logfile1  mysql-bin.000001  mysql-bin.index     test
ib_logfile0  mysql        mysql-bin.000002  performance_schema

启动mysql服务

/usr/local/mysql/bin/mysqld_safe --user=mysql & 

& 此符号代表后台运行

[root@1master /home/mysql3306/mysql3306]$ps -ef|grep mysql  (查看mysql是否启动服务)
root      4351  3849  0 17:36 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --user=mysql
mysql     5234  4351 46 17:36 pts/1    00:00:07 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/home/mysql3306/mysql3306 --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/home/mysql3306/logs/mysql-error.log --open-files-limit=65535 --pid-file=/home/mysql3306/mysql.pid --socket=/tmp/mysql3306.sock --port=3306
root      5258  3849  0 17:36 pts/1    00:00:00 grep --color=auto mysql

配置环境变量
vim /etc/profile

export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/home/hadoop/install/hadoop-2.7.4
export MYSQL_HOME=/usr/local/mysql
export PS1="[\u@\h \w]\$"
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$MYSQL_HOME/bin

生效环境变量
source /etc/profile

rm -rf /usr/bin/mysql* 
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

mysql mysql的客户端命令
mysqld mysql的server端服务

客户端使用
/usr/local/mysql/bin/mysql 
-u  用户名
-p  密码
-h  IP
-P 端口
-S socket文件(只有linux下存在)

第一次启动后,直接进入
/usr/local/mysql/bin/mysql 
由于使用了参数
/usr/local/mysql/bin/mysql -uroot -proot -S /tmp/mysql3306.sock
进入命令:mysql -uroot -proot
退出:输入exit命令即可
mysql> select user,host,password from mysql.user;
+------+-----------+----------+
| user | host      | password |
+------+-----------+----------+
| root | localhost |          |
| root | master    |          |
| root | 127.0.0.1 |          |
| root | ::1       |          |
|      | localhost |          |
|      | master    |          |
+------+-----------+----------+
6 rows in set (0.00 sec)
删除没有用的用户
delete from mysql.user where user='';
delete from mysql.user where host='::1' or host='master';
delete from mysql.user where host='127.0.0.1';
mysql> select user,host,password from mysql.user;
mysql> select user,host,password from mysql.user\G;

(自己观察两个语句的区别)

赋权操作(此语句适合5.6 5.7版本用,8.0会报错)

mysql>grant all on *.* to root@'%' identified by 'root' ;
mysql>grant all on *.* to root@'localhost' identified by 'root' ;
刷新权限表:mysql>flush privileges;
mysql> select user,host,password from mysql.user;查看一下跟之前的区别
mysql>grant all on *.* to root@'%' identified by 'root' with grant option;
mysql>grant all on *.* to root@'localhost' identified by 'root' with grant option;(一般只赋本地)
mysql> select user,host,password from mysql.user;查看一下跟之前的区别
(字段解释说明:all 代表所有权限
				*.* 第一个*库代表所有数据库  第二个*表代表所有表,这个是所有库的所有表。

                root@'%' root用户名,如果有直接赋权,如果该用户没有直接创建赋权
                %  哪个网段允许登录我的mysql server,可以这样写192.168.2.%,也可以直接指定谁可以方问192.168.2.11
				with grant option   代表允许该用户给其他用户赋权)

先在1slave0测试:
[root@1slave0 /home/mysql3306/mysql3306]$mysql -uroot -proot -h 192.168.97.60 -P 3306
如果没有成功去master执行:
[root@1master /home/mysql3306/mysql3306]$scp usr/local/mysql/bin/mysql 1slave0:/user/bin
返回1slave0测试:
[root@1slave0 /home/mysql3306/mysql3306]$mysql -uroot -proot -h 192.168.97.60 -P 3306
mysql>show databases;

如果想删除mysql,重新安装执行
pkill -9 mysql
删除目录
rm -rf /home/mysql3306
rm -rf /usr/local/mysql

停掉MySQL服务
[root@1master /home/mysql3306/mysql3306]$usr/local/mysql/bin/mysqladmin -uroot -proot shutdown
修改:在usr/local/mysql/bin目录下执行./mysqladmin -uroot -proot shutdown
停掉后查看一下是否成功
[root@1master /home/mysql3306/mysql3306]$ps -ef|grep mysql 
停掉之后如果想重启mysql执行
[root@1master /home/mysql3306/mysql3306]$/usr/local/mysql/bin/mysqld_safe --user=mysql &
检查一下是否有问题
[root@1master /home/mysql3306/mysql3306]$ps -ef|grep mysql
进入mysql
[root@1master /home/mysql3306/mysql3306]$mysql -uroot -proot -S /tmp/mysql3306.sock

使用mysql 注意权限问题(mysql可以链接)
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
权限问题报错 
ERROR 1045 (28000): Access denied for user 'root'@'192.168.97.xx' (using password: YES)
1.第一个就是'root'@'192.168.97.xx' 在数据库里面有没有赋权
2.输入的密码对不对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值