自从Fedora19之后,Linux上的MySQL就被MariaDB所取代,这段文字见如下引用:

MySQL was replaced by MariaDB since Fedora 19 (http://fedoraproject.org/wiki/Features/ReplaceMySQLwithMariaDB).

To install MariaDB Server you have to execute the following command:

yum install mariadb mariadb-server

To start MariaDB on Fedora 20, execute the following command:

systemctl start mariadb.service

To autostart MariaDB on Fedora 20, execute the following command:

systemctl enable mariadb.service

After you started MariaDB (do this only once), execute the following command:

/usr/bin/mysql_secure_installation

This command will ask you some inputs to set root password, remove anonymous users, disallow root login remotely, remove test database and reload privilege tables.

基本安装和启动

从上面的信息可以看出,基本上通过yum install安装的MariaDB,命令与MySQL相关命令基本差不多。

我们可以通过命令行连接MariaDB:

mysql -u 用户名 -h 地址 -p,输入密码即可

show databases 显示出所有mysql中的数据库;

show tables;

也可以在Mac下使用客户端,这里推荐一个比较好用的客户端(仅Mac下):Sequel Pro

如果新建的数据表都是GBK(或latin,有些某人配置为latin的),通过下面的命令可以修改其字符集为"UTF-8":

ALTER DATABASE diablo DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

创建用户,以及分配对应权限的命令格式如下:

CREATE USER username IDENTIFIED BY 'password';
CREATE DATABASE databasename;
CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
GRANT ALL ON databasename.* TO 'username'@‘%';
flush privileges;
使用组合mysqldump以及mysql命令,可以一次性地将数据进行备份
mysqldump db_test -u root -ppassword --add-drop-table | mysql db_for_test -u root -ppassword
以上是在同一台MySQL服务器上复制数据库的方法。如果要复制到远程另一台MySQL服务器上,可以使用mysql的“ -h 主机名/ip”参数。前提是mysql允许远程连接,且远程复制的传输效率和时间可以接受。
 
#mysqldump db1 -uroot -ppassword --add-drop-table | mysql -h 192.168.1.22 newdb -uroot -ppassword

Linux启动和停止Mysql服务

采用netstat -nlp查看mysql服务的状态

命令行方式:

        开启  ./mysqld_safe &
关闭 mysqladmin -uroot shutdown

rpm方式安装的:

        开启  service mysql start
关闭 service mysql stop
在命令行启动mysql时,如不加"--console",启动、关闭信息不在界面中显示,而是记录在安装目录下的data目录里,文件名一般是hostname.err,通过此文件查看mysql的控制台信息。
 

使用MySQL处理表连接时的错误

 
使用inner join两张数据库表时,出现连接错误:
 
select * from campaign_message m inner join spread_student s on m.phone=s.phone;

Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '='
在StackOverFlow网站上,查看其出现的问题:
 
 
标题为:Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '=' in MySQL Stored Procedure。
 
某些人给出的答案为:
 

so the answer is simple. It seems you missed the change as stated by MKJ ^^ but the actual syntax to alter your tables looks like this.

alter table `dbname`.`tablename` convert to character set utf8 collate utf8_general_ci;
 
Applied as an individual script or at the end of your create table statement you should be able to relate all related tables back to the same charset
 
 
执行语句完成后,就可以使得两张数据表能够正常执行连接了。
 
之前出现的问题就是,有一张数据表声明的时候没有按照正常的character set,而是采用了其他的字符集。 

MySQL处理表锁死的状态

 
同事在处理mysql查询的时候,遇到问题,针对其中的某张表查询不能正常执行(甚至于最简单的select也不行),而其他表查询都可以。
 
从网上找到的一些资料,可以通过命令行的方式查找到具体线程:
 
SHOW PROCESSLIST显示哪些线程正在运行。您也可以使用mysqladmin processlist语句得到此信息。如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程(也就是,与您正在使用的MySQL账户相关的线程)。如果有线程在update或者insert 某个表,此时进程的status为updating 或者 sending data。
 
如果您得到“too many connections”错误信息,并且想要了解正在发生的情况,本语句是非常有用的。MySQL保留一个额外的连接,让拥有SUPER权限的账户使用,以确保管理员能够随时连接和检查系统(假设您没有把此权限给予所有的用户)。
 
下面就是我们执行了该命令出现的表结构:
 


 
 
其中的state显示出了等待的一些基本锁,以及这些锁的基本状态。
 

其中的第一个字段为线程id,可以对线程id执行kill操作,手动执行所有需要被kill掉的线程,就可以保证在查询过程中不会出现死锁问题。

这段时间使用MySQL的一些记录的更多相关文章

  1. [MySQL] 查询一段时间记录

    24小时内记录(即86400秒) $sql="SELECT video_id,count(id)as n FROM `rec_down` WHERE UNIX_TIMESTAMP(NOW() ...

  2. 前段时间,接手一个项目使用的是原始的jdbc作为数据库的访问,发布到服务器上在运行了一段时间之后总是会出现无法访问的情况,登录到服务器,查看tomcat日志发现总是报如下的错误。    Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected est

    前段时间,接手一个项目使用的是原始的jdbc作为数据库的访问,发布到服务器上在运行了一段时间之后总是会出现无法访问的情况,登录到服务器,查看tomcat日志发现总是报如下的错误. Caused by: ...

  3. 记录这段时间java编程的小知识点

    记录这段时间java编程的小知识点 eclipse项目导入中文乱码 eclipse左侧目录结构变动 eclipse代码段左右移动 按tal键,是整体右移. 按shift  table 同时按,是整体左 ...

  4. Python_socket常见的方法、网络编程的安全注意事项、socketsever模块、浏览器中在一段时间记录用户的登录验证机制

    1.socket常见的方法 socket_常见方法_服务器端 import socket from socket import SOL_SOCKET,SO_REUSEADDR sk = socket. ...

  5. 如何在Sql Server中读取最近一段时间的记录,比如取最近3天的或最近3个月的记录。

    如何在Sql Server中读取最近一段时间的记录,比如取最近3天的或最近3个月的记录. 主要用到DATEADD函数,下面是详细语句 取最近3天 select * from 表名where rq> ...

  6. 为QNetworkAccessManager添加超时提醒(自己记录一段时间里的下载字节数,用定时器去定期检测,从而判断是否超时)

    在做更新,在测试异常的时候,在下载过程中,发现如果直接系统禁用了网络,会报错误,可以捕获.但是如果是第三方软件限制程序联网,问题来了. 程序会一直在那里等待,没有异常,也不发送QNetworkAcce ...

  7. windows服务器下,mysql运行一段时间之后忽然无法连接,但是mysql服务启动正常

    出现这种情况以前都是重启服务器可以解决,但是治标不治本,一段时间之后仍然会出现此问题. 此问题不是mysql应用程序的问题而是windows server system 的配置问题.因此需要修改win ...

  8. 基于struts2、spring的应用闲置一段时间后报空指针错(转)

    在做struts2.spring网站时,在系统闲置一段时间后,访问页面会出错,第二次再访问就正常了.后来查了后台日志,发现是数据库连接关闭了,导致页面访问出错.页面上报空指针错误,错误没有保留,日志中 ...

  9. 丢掉DDL,我用这招3分钟清空 MySQL 9亿记录数据表

    摘要:最近由于福建开机广告生产环境的广告日志备份表主键(int类型)达到上限(21亿多),不能再写入数据,需要重新清空下该表并将主键重置,但由于表里有8亿多记录的数据量,使用重置命令及DDL命令执行地 ...

随机推荐

  1. 在关于原生js获取getAttribute如果是src的一点注意事项

    最近抽空把seajs看完了 他们在fix代码的时候,写明在某浏览器下的情况和官方文档出处,这样有据可查.太赞了 顺便把我想要这段摘出来 可以直接dom.src,但是在ie6-7中是不支持的,并且在ge ...

  2. 简易安装ubuntu- -(虚拟机实现)

    第一步:获取资源 安装vmware 百度上搜索vmware虚拟机,直接在百度上下载下来. 按平时安装东西步骤差不多 最后使用的时候有出现适用30天或者永久使用需要序列号 序列号可以使用 5A02H-A ...

  3. 求小于等于k长度的最大区间和

    题意 给出一个序列,求长度小于等于k的最大区间和并输出起点和终点 1<=n<=100000 1<=k<=n   题解:先算出前缀和,利用单调队列的性质,在单调队列中存储sum[ ...

  4. Ext JS 5 关于Store load返回json错误信息或异常的处理

    关于在store load的时候服务器返回错误信息或服务器出错的处理.ExtJS4应该也能用,没测试过. 这里有两种情况: 服务器返回错误json错误信息,状态为200 服务器异常,状态为500 一. ...

  5. fedora 27

    安装 U盘安装,感谢学长的U盘 配置 安装外来软件的时候,需要输入root密码 软件 软件安装是个麻烦事儿啊 详情 [新手指南: 在 Ubuntu 和 Fedora 上安装软件包] Fedora 中文 ...

  6. 让ASP.NET第一次请求不变慢

    网页开发者早期最常遇到一个问题,当网站布署到IIS时候,每当IIS或是Application Pool重启后,第一位进入网站的使用者,其体验往往第一个反应就是网站很慢,然后就一直询问IT为什么网站这么 ...

  7. C#/.NET 中的契约

    将文档放到代码里面,文档才会及时地更新! 微软从 .NET Framework 4.0 开始,增加了 System.Diagnostics.Contracts 命名空间,用来把契约文档融入代码.然而后 ...

  8. php excel 读取日期问题

    在 php excel 读取 xls 格式的文件时,xls 上面显示的是正常的日期格式 但是读取出来的话,就会是一个万位整形数据,这显然不是我们想要的日期 读取出来的结果: 41807 $t = 41 ...

  9. notepad++运行paython程序

    cmd /k C:\Python30\python.exe "$(FULL_CURRENT_PATH)" & PAUSE & EXIT 添加引用的环境变量

  10. ofdm理解(转载)

    说明:以下文字,灰色为吹水文,黑色为正文,蓝色为采用实际应用中的参数所作的说明. 起因是这样的.时间回到07年底,4G方兴之时,同桌隔壁的隔壁"小白"同学说看不太明白OFDMA的原 ...