查看linux 系统
root@idolaoxu ~ # cat /etc/redhat-release
CentOS release 7.4 (Final)
Mysql 安装教程
mysql 在linux下的完整安装过程
1.下载RPM包
https://cdn.mysql.com//archives/mysql-5.7/mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar
2.先使用命令删除已有的安装
rpm -qa|grep mariadb
mariadb-libs-5.5.44-2.el7.centos.x86_64
删除安装包
rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
3.解压安装
tar -xvf mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar
使用rpm -ivh命令依次进行安装;以下步骤需要root权限。且因包之间的依赖关系,各rpm命令必须按序执行。
rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.20-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm
如果安装 server RPM包报 libaio 错误时
下载 http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm
执行 rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm 进行安装后再执行
rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm
4.初始化数据库
执行命令
mysqld --initialize
5.创建用户和用户组
groupadd mysql
useradd -g mysql -r mysql(界面可能闪退)
chown mysql:mysql /var/lib/mysql -R
systemctl start mysqld.service 重启mysql服务
6.修改初始密码
1.由于一开始并不知道密码,先修改配置文件/etc/my.cnf令MySQL跳过登录时的权限检验。加入一行:skip-grant-tables
2.重启MySQL: systemctl restart mysqld
3.免密码登录MySQL: mysql -uroot -p
4.修改root用户密码: UPDATE user SET authentication_string = password('root') WHERE host = 'localhost' AND user = 'root';(执行失败)
5.最后修改配置文件/etc/my.cnf删除此前新增那一行skip-grant-tables,并重启MySQL。这一步非常重要,不执行可能导致严重的安全问题。
存在问题
一些SQL语句
mysql -u root –p (进入数据库)
DROP DATABASE tutorial_database; (删除数据库,删除数据库无法恢复)
SHOW DATABASES; (查全部数据库)
Show tables (先选中某个库,,查全部数据库)
source .sql文件的目录 (. 导入sql文件)
一些liunx 命令
删除文件夹实例:rm -rf /var/log/httpd/access (强制递归删除)
mkdir name
mkdirs name
whereis hbase (查看文件安装路径)
which oracle(查询运行文件所在路径)
==============================================================================================
(0)卸载完整,安装失败
(1)查看 (残留的安装)
rpm -qa|grep mariadb
(2)删除安装包
rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64(显示的包)
(1)设置初始root密码
https://www.cnblogs.com/Orange42/p/8432185.html
(2)设置项目查询不到表(原因是项目无法识别大小写)
原来Linux下的MySQL默认是区分表名大小写的,通过如下设置,可以让MySQL不区分表名大小写:
1、用root登录,修改 /etc/my.cnf;
2、在[mysqld]节点下,加入一行: lower_case_table_names=1
3、重启MySQL即可;
(3)报错:1130-host ... is not allowed to connect to this MySql server 开放mysql远程连接 不使用localhost(表现远程软件连接报该话)
服务端项目报错显示(下图)
https://www.cnblogs.com/xyzdw/archive/2011/08/11/2135227.html(来源的网址)
解决方法:
1。 改表法。
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -pvmwaremysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
==========================================================================================================================
(3) linux mysql 查看默认端口号和修改端口号
1. 登录mysql
- [root@test /]# mysql -u root -p
- Enter password:
2. 使用命令show global variables like 'port';查看端口号
- mysql> show global variables like 'port';
- +---------------+-------+
- | Variable_name | Value |
- +---------------+-------+
- | port | 3306 |
- +---------------+-------+
- 1 row in set (0.00 sec)
3. 修改端口,编辑/etc/my.cnf文件,早期版本有可能是my.conf文件名,增加端口参数,并且设定端口,注意该端口未被使用,保存退出。
- [root@test etc]# vi my.cnf
- [mysqld]
- port=3506
- 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
- "my.cnf" 11L, 261C written
- [root@test etc]#
4. 重新启动mysql
- [root@test ~]# /etc/init.d/mysqld restart
- Stopping mysqld: [ OK ]
- Starting mysqld: [ OK ]
(4)centos 7.3 开放端口并对外开放(没用过,备用)
https://blog.csdn.net/qq_24232123/article/details/79781527
https://www.cnblogs.com/zengweiming/p/6604424.html
查看已打开的端口 # netstat -anp
2. 查看想开的端口是否已开 # firewall-cmd --query-port=666/tcp
若此提示 FirewallD is not running
表示为不可知的防火墙 需要查看状态并开启防火墙
3. 查看防火墙状态 # systemctl status firewalld
running 状态即防火墙已经开启
dead 状态即防火墙未开启
4. 开启防火墙,# systemctl start firewalld 没有任何提示即开启成功
5. 开启防火墙 # service firewalld start
关闭防火墙 # systemctl stop firewalld
centos7.3 上述方式可能无法开启,可以先#systemctl unmask firewalld.service 然后 # systemctl start firewalld.service
6. 查看想开的端口是否已开 # firewall-cmd --query-port=666/tcp 提示no表示未开
7. 开永久端口号 firewall-cmd --add-port=666/tcp --permanent 提示 success 表示成功
8. 重新载入配置 # firewall-cmd --reload 比如添加规则之后,需要执行此命令
9. 再次查看想开的端口是否已开 # firewall-cmd --query-port=666/tcp 提示yes表示成功
10. 若移除端口 # firewall-cmd --permanent --remove-port=666/tcp
11. 修改iptables 有些版本需要安装iptables-services # yum install iptables-services 然后修改进目录 /etc/sysconfig/iptables 修改内容
另外一种方法
https://www.jb51.net/os/Ubuntu/617627.html (使用过,可以用)
(5)linux如何启动/停止/重启MySQL
如何启动/停止/重启MySQL
一、启动方式
1、使用 service 启动:service mysqld start (使用过)
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start
二、停止
1、使用 service 启动:service mysqld stop (使用过)
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop
三、重启
1、使用 service 启动:service mysqld restart
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld restart
(6)项目在总是报mysql表不存在的问题
https://blog.csdn.net/superdog007/article/details/54580274
(7)远程连接软件连接报错和项目连接不上mysql服务
(报error no 1130 host '10.122.163.172' is not allowed to connect to this mysql server)
(意思:对外所有开放,localhost:本机,%对所有)
https://www.cnblogs.com/xyzdw/archive/2011/08/11/2135227.html