mysql-总级别操作

2017-02-20  本文已影响28人  戏之地

安装

linux

yum -y install mysql mysql-server
or
yum -y install mariadb mariadb-server

设置开机启动

service mysqld start    #开启服务 
chkconfig mysqld on   #设置开机启动
or
systemctl start mariadb
systemctl enable mariadb

查看

ps aux | grep mysql  # 查看进程
netstat -an | grep 3306 # 查看端口

设置密码

mysqladmin -uroot password "123" # 设置初始密码
mysqladmin -u root -p"123" password "new" # 修改root密码 

登录

mysql # 默认root,没有密码
mysql -u root -p # 指定密码,登录本地
mysql -u root -p "123" -h 192.168.12.23 远程登录  用户为root@192.168.12.23
mysql -P代表端口号,-p代表密码

sql语句规范

SELECT * FROM tb_table
            WHERE NAME="YUAN"

常用命令

# 启动mysql和停止mysql
net start mysql
net stop mysql
# service mysql start

忘记密码怎么办

启动mysql时,跳过授权表

[root@controller ~]# service mysqld stop
[root@controller ~]# mysqld_safe --skip-grant-table &
[root@controller ~]# mysql
mysql> select user,host,password from mysql.user;
+----------+-----------------------+-------------------------------------------+
| user     | host                  | password                                  |
+----------+-----------------------+-------------------------------------------+
| root     | localhost             | *A4B6157319038724E3560894F7F932C8886EBFCF |
| root     | localhost.localdomain |                                           |
| root     | 127.0.0.1             |                                           |
| root     | ::1                   |                                           |
|          | localhost             |                                           |
|          | localhost.localdomain |                                           |
| root     | %                     | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
+----------+-----------------------+-------------------------------------------+
mysql> update mysql.user set password=password("123") where user="root" and host="localhost";
mysql> flush privileges;
mysql> exit
[root@controller ~]# service mysqld restart
[root@controller ~]# mysql -uroot -p123

删除数据库

删除与权限相关的库mysql,所有的授权信息都丢失,主要用于测试数据库或者刚刚建库不久没有授权数据的情况
[root@controller ~]# rm -rf /var/lib/mysql/mysql
[root@controller ~]# service mysqld restart
[root@controller ~]# mysql

配置数据库编码

查看数据库编码

windows下

将安装目录的mydefault.cnf复制一份进行修改
因为我的系统是linux,故不写windows了

linux下

在我的linux mint下配置

从中可以看出,总的配置文件在/etc/alternative/my.cnf
然后在其中添加如下

[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
[mysql]
default-character-set=utf8

需要添加的内容

修改数据库编码

alter database db_name character set = utf8
但是基本上不起作用,我也不知道原因

另外一篇mysql中文乱码配置

里面有好多关于数据库的内容
此篇文章为精品

内容如下:

一、登录MySQL查看用SHOW VARIABLES LIKE ‘character%’;下字符集,显示如下:

+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
character_set_database和character_set_server的默认字符集还是latin1。

二、最简单的完美修改方法,修改mysql的my.cnf

文件中的字符集键值(**注意配置的字段细节**):
1、在[client]字段里加入default-character-set=utf8,
如下:
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8
2、在[mysqld]字段里加入
character-set-server=utf8,
如下:
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
character-set-server=utf8
3、在[mysql]字段里加入default-character-set=utf8,
如下:
[mysql]
no-auto-rehash
default-character-set=utf8
修改完成后,service mysql restart重启mysql服务就生效。
注意:[mysqld]字段与[mysql]字段是有区别的。这点在网上没人反馈过。
使用SHOW VARIABLES LIKE ‘character%’;
查看,发现数据库编码全已改成utf8。
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

数据库操作

#创建数据库
create database [if not exists] db_name [character set xxx] 
//创建一个数据库对应在磁盘上创建一个文件夹,没有区别
if not exists 如果有的话,就不创建了,不会覆盖原来存在的
#查看数据库
show databases; # 查看全部数据库
show create database db_name;# 查看数据库的创建方式和创建时的信息
#删除数据库
drop db_name
# 查看警告
show warnings
# 修改数据库
alter database db_name # 后面可以添加character set= utf8
# 使用数据库
use db_name注意:进入到某个数据库后没办法再退回之前状态,但可以通过use进行切换
# 查看当前使用的数据库
select database();

数据库数据类型

mysql大致可以分成三种类型:数值,字符,日期

数值

double(4,2)这个类型为double,长度为4,小数位2,整数位2

字符

日期格式

上一篇 下一篇

猜你喜欢

热点阅读