CentOS7安装MySQL及常用指令

各平台各版本的mysql-connector源码下载:https://downloads.mysql.com/archives/

一、常用语句

//启动的时候没有报错就是启动成功的,即使“Redirecting to /bin/systemctl start  mysql.service”
//具体情况可使用状态查询指令查询其状态。
service mysqld start   #使用service启动mysql服务
service mysqld status  #查看MYSQL运行状态
service mysqld stop    #使用service停止mysql服务
service mysqld restart #使用service重启mysql服务


//查询mysql版本
(1)终端执行  mysql -V 
(2)mysql里面查看 select version();

//连接数据库
mysql -u root -p     #以管理员身份登录
我云服务上的pscode是(tantan_esc同):zS+qq。
quit                 #退出mysql
/*-----------------------------------------*/
连接数据库介绍。指令是 mysql,常用选项如下:
-h:主机host
-P:端口prot
-u:用户名user
-p:用户密码passcode
-A:不预读数据库信息(数据库中表比较多的时候预读数据库信息会很慢以至于卡住)
表名:末尾可以加上库名。这样就相当于直接进入该数据库,等价于执行一次 use 库名;
举例:举例如下,注意最后一个-p不要带空格。。。。!!!!。。。。。。
mysql -h 100.65.202.233 -P 4236 -u uds_root -puds_root@123

如果密码存在特殊字符,记得用单引号扩一下:
mysql -h11.111.1.123 -P3306 -umysqluser -p'WtDdtg#qp6dgDY#Yd'


/*-----------------------------------------*/
create database shop;//创建一个数据库
show databases;      //查看有哪些数据库 
use shop;            //选择使用shop数据库 
select database();   //查看当前选择的数据库
show tables;         //查看数据库中的表 

select * from biao1;     //查看biao1的数据 
drop table chengji;      //删除表chengji; 
show columns from biao1; //查看biao1 
create table chengji(yingyu int,yuwen int,shuxue int);//新建chengji表,并插入响应字段 
alter table chengji add meishu varchar(50) not null;  //向表chengji中添加字段meishu; 
rename table chengji to chengji2;                     //把成绩改名为成绩2 

show create table biao1; #查看建表语句

select count(*) from mytable; #查看mytable表中的数据量

常用操作实例:
insert into t_XXX_search_config (FCorpUin,FDisplay,FTopPos,FQuality,FActivity) values(2852158899,4,10000,0,0) limit 1;
update t_XXX_search_config set FDisplay = 888 where FCorpUin = 1820140703 limit 1;
delete from XXXXX_BIZ.t_xxxxx_all where FKFUin = 800853466 limit 1;

delete from table_name;  #清除表数据

1.1、mysql查看表占用多大存储空间?

首先跳到mysql的 information_schema 库;然后使用如下语句即可查询数据库“shop”下的表格“table1”的存储占用。

#以GB为单位
select concat(round(sum(data_length/1024/1024/1024),2),'G') as data from tables where table_schema='shop' and table_name = 'table1';

#以MB为单位
select concat(round(sum(data_length/1024/1024),2),'M') as data from tables where table_schema='abcd' and table_name = 'tb_dept_bigdata';

https://jingyan.baidu.com/article/d713063501cb2d52fdf47594.html

1.2、mysql中的结束符

默认情况下分号(";")是结束符,结束符意味着解释器遇到后就要执行了。但有时候我们不希望解释器立马执行,即使是遇到分号。这个时候我们就可以暂时把结束符定义为其他符号,事情完成后在定义回来。

将结束符变成  $$$: delimiter $$$

将结束符变回分号:DELIMITER ;

1.3、mysql批量插入数据

(1)创建一个部门表

create table tb_dept_bigdata(
id int unsigned primary key auto_increment,
deptno mediumint unsigned not null default 0,
dname varchar(20) not null default '',
loc varchar(13) not null default ''
)engine=innodb default charset=utf8;

(2)批量插入100条数据

delimiter $$$
create procedure inserttest()
begin
declare i int default 0;
set i=0;
start transaction;
while i<100 do
	insert into tb_dept_bigdata (deptno,dname,loc) values(11,"department","shanghai");
set i=i+1;
end while;
commit;
end
$$$
delimiter ;

#接下来就可以执行call操作插入数据了
call inserttest();

二、写入中文报错——ERROR 1366 (HY000): Incorrect string value: '\xE6\x81\xA4' for column 'product_name' at row 1

https://www.jb51.net/article/112379.htm

https://www.jb51.net/article/104911.htm

注意:要删除整个数据库,重新建库。(单纯的删除table、重新建table都是不行的)

三、mysql客户端不能输入中文(输中文会自动没)

就按照网上说的首先把字符集全部调成 utf-8;然后在膝盖系统LANG变量与之对应。

前者修改mysql的配置文件/etc/my.conf,大致这样:https://www.jb51.net/article/104911.htm

后者就是修改系统配置文件/etc/locale.conf,这样:LINUX下mysql客户端不能输入中文 - SamaelB - 博客园 (此处改成LANG=en_US.UTF-8 即可)

四、安装有如下报错

The GPG keys listed for the "MySQL 5.7 Community Server" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.

软件开发商在释出 RPM 文件时,会在其中添加数字签名,并释出用于验证数字签名的公钥。使用 rpm 安装软件时,rpm 会首先根据系统中已有的公钥去验证 RPM 文件的数字签名。gpg keys 就是公钥。所以在安装的时候会比对已有的公钥,发现不正确,报错了,解决方法如下:

安装现有的 gpg 公钥,在 /etc/pki/rpm-gpg/ 下,可以 sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*,直接把所有的都安装。
还是不行的话,就通过参数指定不检查数字签名,sudo yum -y install * --nogpgcheck

3、MYSQL的安装

在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。

1 下载并安装MySQL官方的 Yum Repository

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

  使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。

yum -y install mysql57-community-release-el7-10.noarch.rpm

  之后就开始安装MySQL服务器。

yum -y install mysql-community-server

  这步可能会花些时间,安装完成后就会覆盖掉之前的mariadb。

至此MySQL就安装完成了,然后是对MySQL的一些设置。

2 MySQL数据库设置

  首先启动MySQL

systemctl start  mysqld.service

  查看MySQL运行状态,运行状态如图:

[root@localhost ~]# systemctl status mysqld.service

可能出现的问题即应对方式:

在上面是有可能出现启动不成功等等问题的。例如如下:

应对方式:在网页上搜 “Job for mysqld.service failed because .....”,可以看到很多可能。关于有哪些可能的原因可以参照 这个

另外千万值得注意的是我们要充分的利用mysql的日志功能。其日志路径为    /var/log/mysqld.log  。例如说对于我们遇到的这个问题我们在日志中看到了如下错误,即端口被占用。然后在按照 这个 杀掉进程然后重新启动即可。

  此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:

grep "password" /var/log/mysqld.log

  如下命令进入数据库:

[root@localhost ~]# mysql -uroot -p

  执行上面指令后输入初始密码。就是蓝线表示的mysql自己生成的密码(注:无前面空格)。接下来修改密码,MySQL默认必须修改密码之后才能操作数据库:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

  这里有个问题,新密码设置的时候如果设置的过于简单会报错:

  原因是因为MySQL有密码设置的规范,具体是与validate_password_policy的值有关:

 

  MySQL完整的初始密码规则可以通过如下命令查看:

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | OFF   |
| validate_password_dictionary_file    |       |
| validate_password_length             | 4     |
| validate_password_mixed_case_count   | 1     |
| validate_password_number_count       | 1     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.01 sec)

密码的长度是由validate_password_length决定的,而validate_password_length的计算公式是:

validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

我的是已经修改过的,初始情况下第一个的值是ON,validate_password_length是8。可以通过如下命令修改:

mysql> set global validate_password_policy=0;  #一句话,执行此语句将密码政策关掉即可。
mysql> set global validate_password_length=1;

  设置之后就是我上面查出来的那几个值了,此时密码就可以设置的很简单,例如1234之类的。到此数据库的密码设置就完成了。

  但此时还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:

[root@localhost ~]# yum -y remove mysql57-community-release-el7-10.noarch

  此时才算真的完成了。

4、安装后的一些事情

1、查看当前开放端口

show global variables like 'port';

 2、修改开放端口

vim /etc/my.cnf   #当然好多配置修改都在这里

3、远程机器尝试此服务器报错如下(或者telnet ip port)

GHost '180.153.219.34' is not allowed to connect to this MySQL serverConnection closed by foreign host. 

这个报错的含义是当前部署的mysql不允许外部机器的链接;解决办法也很简单给mysql“设置指定ip访问即权限”即可。搜 “mysql设置指定ip访问”即可。

#关闭passcode校验,防止说你密码不合法
set global validate_password_policy=0;
set global validate_password_length=1;

#授权用户root使用密码zS+qq从指定ip为180.153.222.34的主机链接到mysql服务器
GRANT ALL PRIVILEGES ON *.* TO 'root'@'180.153.222.34' IDENTIFIED BY 'zS+qq' WITH GRANT OPTION;
#刷新权限使生效
flush privileges;

参考: CentOS7安装MySQL - 一张对二 - 博客园 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值