水平有限,仅供参考
然后用winscp上传到linux的/usr/local文件加下,以后安装包统一放到这个文件夹下,因为系统安装文件好像是默认会安装到这个文件加下,mysql好像就是默认安装到这个文件夹下的。
然后解压安装
1.解压
tar -zxvf mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz
把解压后的文件夹名称改成mysql,一定要改成这个
然后把文件夹移动到 /usr/local 下面(这就是为什么上面我要把安装包放到这儿,放到这儿解压后就不用移动了,其他程序可能没这个问题,mysql内部用默认配置,最好这样弄,就不用管其他了),一定要移动,不能随便放,不然执行启动命令时会找不到
2.修改权限
进入安装目录执行
添加系统mysql组和mysql用户:
执行命令:groupadd mysql和useradd -r -g mysql mysql
修改当前目录拥有者为mysql用户:执行命令 chown -R mysql:mysql ./
创建数据库实例:执行命令 ./scripts/mysql_install_db --user=mysql
修改当前目录拥有者为root用户:执行命令 chown -R root:root ./
修改当前data目录拥有者为mysql用户:执行命令 chown -R mysql:mysql data
3.启动mysql服务和添加开机启动mysql服务
添加开机启动:执行命令cp support-files/mysql.server /etc/init.d/mysql,把启动脚本放到开机初始化目录
启动mysql服务:执行命令service mysql start
执行命令:ps -ef|grep mysql 看到mysql服务说明启动成功
这里会提示找不到命令,找不到命令是因为profile 环境变量没有配置
/etc/profile
在文件末尾加上
export PATH=$PATH:/usr/local/mysql/bin
加上后刷新文件,然后再启动就可以了
4.设置密码
root用户登录
mysql -u root –p
第一次不用输入密码直接回车就行
update mysql.user setpassword=password("123456") where user="root";
给root用户设置密码
flush privileges;
刷新权限
quit;
退出
service mysql restart
重启服务
mysql –u root –p
回车,输入新密码即可进入
5.放开权限
基于安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root的远程访问权限。下面是基本的步骤:
1、登录到mysql中,为root进行远程访问的授权,执行下面的命令:
GRANT ALLPRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root的密码' WITH GRANT OPTION;
mysql> flush privileges;
第一句中"%"表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如:
GRANT ALL PRIVILEGES ON *.* TOroot@"172.168.193.25" IDENTIFIED BY "root";
第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。
6.删除匿名用户
7.常用命令
启动:service mysql start
停止:service mysql stop
重启:serice mysql restart
8.防火墙 通过设置云主机的安全组来控制了
9.mysql的配置文件默认的是/etc/my.cnf
修改配置文件
[client]
password = 密码
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set = utf8
[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
# 自己插入的
character-set-server=utf8
collation-server=utf8_general_ci
performance_schema_max_table_instances=400
table_definition_cache=400
table_open_cache=256
# 修改
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
[mysql]
default-character-set = utf8
[mysql.server]
default-character-set = utf8
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
default-character-set = utf8
比较着默认的把该加的加上就行了
之前没配置好,出现过启动的时候找不到/tmp/mysql.sock的,后来好像就是改了一下这儿的默认配置最好弄好了。
上面这些弄好后就可以在本地通过mysql的可视化工具,比如navcat或者sqlyog进行远程连接了。