天天看点

【MySQL】RHEL6.5下MySQ编译安装、简单的MySQL操作

配置防火墙,开启3306端口、selinux

安装编译工具

1

<code>[root@localhost src]</code><code># yum install -y gcc gcc-c++</code>

安装cmake

2

3

4

<code>[root@localhost src]# tar zxvf cmake-</code><code>2.8</code><code>.</code><code>0</code><code>.tar.gz </code>

<code>[root@localhost src]# cd cmake-</code><code>2.8</code><code>.</code><code>0</code>

<code>[root@localhost cmake-</code><code>2.8</code><code>.</code><code>0</code><code>]# ./configure </code>

<code>[root@localhost cmake-</code><code>2.8</code><code>.</code><code>0</code><code>]# make &amp;&amp; make install</code>

编译安装MySQL

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

<code>[root@localhost cmake-2.8.0]</code><code># cd ..</code>

<code>[root@localhost src]</code><code># tar zxvf mysql-5.5.40.tar.gz </code>

<code>[root@localhost src]</code><code># groupadd mysql</code>

<code>[root@localhost src]</code><code># useradd -g mysql mysql -s /sbin/nologin </code>

<code>[root@localhost src]</code><code># mkdir -p /data/mysql       </code>

<code>[root@localhost src]</code><code># chown -R mysql:mysql /data/mysql</code>

<code>[root@localhost src]</code><code># cd mysql-5.5.40</code>

<code>[root@localhost mysql-5.5.40]</code><code># cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc</code>

<code>.....</code>

<code>-- Could NOT </code><code>find</code> <code>Curses  (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)</code>

<code>CMake Error at cmake</code><code>/readline</code><code>.cmake:83 (MESSAGE):</code>

<code>  </code><code>Curses library not found.  Please </code><code>install</code> <code>appropriate package,</code>

<code>      </code><code>remove CMakeCache.txt and rerun cmake.On Debian</code><code>/Ubuntu</code><code>, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.</code>

<code>[root@localhost mysql-5.5.40]</code><code># rm CMakeCache.txt </code>

<code>rm</code><code>: remove regular </code><code>file</code> <code>`CMakeCache.txt'? y   </code>

<code>[root@localhost mysql-5.5.40]</code><code># yum -y install ncurses-devel</code>

<code>......</code>

<code>Warning: Bison executable not found </code><code>in</code> <code>PATH</code>

<code>-- Configuring </code><code>done</code>

<code>-- Generating </code><code>done</code>

<code>-- Build files have been written to: </code><code>/usr/local/src/mysql-5</code><code>.5.40</code>

<code>[root@localhost mysql-5.5.40]</code><code># yum -y install Bison</code>

<code>[root@localhost mysql-5.5.40]</code><code># make &amp;&amp; make install</code>

<code>[root@localhost mysql-5.5.40]</code><code># rm -rf /etc/my.cnf   #删除系统默认的配置文件(如果默认没有就不用删除)</code>

<code>[root@localhost mysql-5.5.40]</code><code># cd /usr/local/mysql/</code>

<code>[root@localhost mysql]</code><code># ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql   #生成mysql系统数据库</code>

<code>[root@localhost mysql]</code><code># ln -s /usr/local/mysql/my.cnf /etc/my.cnf</code>

<code>[root@localhost mysql]</code><code># cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld    #把Mysql加入系统启动</code>

<code>[root@localhost mysql]</code><code># chmod 755 /etc/init.d/mysqld</code>

<code>[root@localhost mysql]</code><code># chkconfig mysqld on</code>

<code>[root@localhost mysql]</code><code># vim /etc/rc.d/init.d/mysqld </code>

<code> </code><code>46 basedir=</code><code>/usr/local/mysql</code>

<code> </code><code>47 datadir=</code><code>/data/mysql</code>

<code> </code><code>[root@localhost mysql]</code><code># vim /etc/profile    #把mysql服务加入系统环境变量:在最后添加下面这一行</code>

<code> </code><code>export</code> <code>PATH=$PATH:</code><code>/usr/local/mysql/bin</code>

<code> </code><code>[root@localhost mysql]</code><code># source /etc/profile</code>

把myslq的库文件链接到系统默认的位置,这样在编译类似PHP等软件时可以不用指定mysql的库文件地址。

<code>[root@localhost mysql]</code><code># ln -s /usr/local/mysql/lib/mysql /lib/mysql</code>

<code>[root@localhost mysql]</code><code># ln -s /usr/local/include/mysql /usr/include/mysql</code>

<code>[root@localhost mysql]</code><code># mkdir /var/lib/mysql</code>

<code>[root@localhost mysql]</code><code># ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock</code>

service mysqld startAnother MySQL daemon already running with the same unix socket.

临时解决方法:删除或者改名:/var/lib/mysql/mysql.sock 

yum安装

<code>[root@localhost ~]</code><code># yum -y install mysql mysql-server  mysql-devel</code>

登陆mysql

<code>[root@localhost ~]</code><code># reboot</code>

<code>[root@localhost ~]</code><code># mysql -u root</code>

默认的mysql是没密码的

设置Mysql密码

<code>[root@localhost ~]</code><code># mysqladmin -u root password 'justin'</code>

<code>[root@localhost ~]</code><code># mysql -u root -p password 'justin'</code>

mysqladmin就是用来设置密码的工具,-u 指定用户,passwod 后跟要定义的密码,密码需要用单引号或者双引号括起来。如果你没在系统变量$PATH中指定/usr/local/mysql/bin/这个目录,需要在命令前加/usr/local/mysql/bin/

或者以下命令设定改密码:

39

40

41

42

43

44

45

<code>[root@localhost ~]# mysql_secure_installation</code>

<code>NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL</code>

<code>      </code><code>SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!</code>

<code>In order to log into MySQL to secure it, we'll need the current</code>

<code>password </code><code>for</code> <code>the root user.  If you've just installed MySQL, and</code>

<code>you haven't </code><code>set</code> <code>the root password yet, the password will be blank,</code>

<code>so you should just press enter here.</code>

<code>Enter current password </code><code>for</code> <code>root (enter </code><code>for</code> <code>none):</code>

<code>OK, successfully used password, moving on...</code>

<code>Setting the root password ensures that nobody can log into the MySQL</code>

<code>root user without the proper authorisation.</code>

<code>Set root password? [Y/n] y    --设置root密码</code>

<code>New password:</code>

<code>Re-enter </code><code>new</code> <code>password:</code>

<code>Password updated successfully!</code>

<code>Reloading privilege tables..</code>

<code> </code><code>... Success!</code>

<code>By </code><code>default</code><code>, a MySQL installation has an anonymous user, allowing anyone</code>

<code>to log into MySQL without having to have a user account created </code><code>for</code>

<code>them.  This </code><code>is</code> <code>intended only </code><code>for</code> <code>testing, and to make the installation</code>

<code>go a bit smoother.  You should remove them before moving into a</code>

<code>production environment.</code>

<code>Remove anonymous users? [Y/n] y    --移除匿名用户</code>

<code>Normally, root should only be allowed to connect from </code><code>'localhost'</code><code>.  This</code>

<code>ensures that someone cannot guess at the root password from the network.</code>

<code>Disallow root login remotely? [Y/n] y  --不允许远程通过root登陆</code>

<code>By </code><code>default</code><code>, MySQL comes </code><code>with</code> <code>a database named </code><code>'test'</code> <code>that anyone can</code>

<code>access.  This </code><code>is</code> <code>also intended only </code><code>for</code> <code>testing, and should be removed</code>

<code>before moving into a production environment.</code>

<code>Remove test database and access to it? [Y/n] y  --移除测试数据库</code>

<code> </code><code>- Dropping test database...</code>

<code> </code><code>- Removing privileges on test database...</code>

<code>Reloading the privilege tables will ensure that all changes made so far</code>

<code>will take effect immediately.</code>

<code>Reload privilege tables now? [Y/n] y    --重新加载特权表</code>

<code>Cleaning up...</code>

<code>All done!  If you've completed all of the above steps, your MySQL</code>

<code>installation should now be secure.</code>

<code>Thanks </code><code>for</code> <code>using MySQL!</code>

<code>[root@localhost ~]#</code>

怎么修改数据库密码?

<code>[root@localhost ~]</code><code># mysqladmin -u root -p password "justin"</code>

<code>Enter password:</code>

<code>[root@localhost ~]</code><code>#</code>

"justin"为需要修改为的密码,Enter password后输入的是原来的密码

    遗忘数据库密码?

a、修改MySQL配置文件,在[mysqld]下任意位置添加一行“skip-grant-tables”并重启mysql服务

<code>[root@localhost ~]</code><code># cp /etc/my.cnf /etc/my.cnfbak</code>

<code>[root@localhost ~]</code><code># vim /etc/my.cnf</code>

<code>25 </code><code># The MySQL server</code>

<code>26 [mysqld]</code>

<code>27 port            = 3306</code>

<code>28 socket          = </code><code>/var/lib/mysql/mysql</code><code>.sock</code>

<code>29 skip-grant-tables</code>

<code>30 skip-locking</code>

<code>31 key_buffer_size = 16M</code>

<code>[root@localhost ~]</code><code># /etc/init.d/mysqld restart</code>

<code>Stopping mysqld:                                           [  OK  ]</code>

<code>Starting mysqld:                                           [  OK  ]</code>

      b、登陆mysql修改root密码

<code>[root@localhost ~]</code><code># mysql -uroot -p</code>

<code>Enter password:   --直接回车</code>

<code>Welcome to the MySQL monitor.  Commands end with ; or \g.</code>

<code>Your MySQL connection idis 2</code>

<code>Server version: 5.1.71-log Source distribution</code>

<code>Copyright (c) 2000, 2013, Oracle and</code><code>/oritsaffiliates</code><code>. All rights reserved.</code>

<code>Oracle is a registered trademark of Oracle Corporation and</code><code>/orits</code>

<code>affiliates. Other names may be trademarks of their respective</code>

<code>owners.</code>

<code>Type </code><code>'help;'</code><code>or </code><code>'\h'</code><code>forhelp. Type </code><code>'\c'</code><code>to clearthe current input statement.</code>

<code>mysql&gt; use mysql;   --使用mysql数据库</code>

<code>Database changed</code>

<code>mysql&gt; update user setpassword=password(</code><code>"newpassword"</code><code>) where user=</code><code>"root"</code><code>;   --newpassword为新的root密码</code>

<code>Query OK, 2 rows affected (0.00 sec)</code>

<code>Rows matched: 2  Changed: 2  Warnings: 0</code>

<code>mysql&gt; flush privileges;   --刷新特权表,不需要重启服务就可以是刚才的操作生效</code>

<code>Query OK, 0 rows affected (0.01 sec)</code>

<code>mysql&gt; quit</code>

<code>Bye</code>

 c、取消刚才在/etc/my.cnf中添加的skip-grant-tables并重启服务后使用newpassword成功登陆mysql

<code>29 </code><code>#kip-grant-tables</code>

<code>mysql&gt;</code>

修改指定用户密码:

<code>mysql&gt; </code><code>update</code> <code>mysql.</code><code>user</code> <code>set</code> <code>password</code><code>=</code><code>password</code><code>(</code><code>'123'</code><code>) </code><code>where</code> <code>User</code><code>=</code><code>"user1"</code> <code>and</code> <code>host=</code><code>"localhost"</code><code>;</code>

<code>Query OK, 0 </code><code>rows</code> <code>affected (0.12 sec)</code>

<code>Rows</code> <code>matched: 0  Changed: 0  Warnings: 0</code>

<code>mysql&gt; flush </code><code>privileges</code><code>;</code>

例如:如果忘记了zabbix的登陆账户admin密码,也可以通过以下步骤找回:

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

<code>[root@localhost ~]</code><code># mysql -uroot -p      #登陆数据库</code>

<code>Enter password: </code>

<code>mysql&gt; show databases;                   </code><code>#查询当前所有的库</code>

<code>+--------------------+</code>

<code>| Database           |</code>

<code>| information_schema |</code>

<code>| mysql              |</code>

<code>| performance_schema |</code>

<code>| zabbix             |</code>

<code>4 rows </code><code>in</code> <code>set</code> <code>(0.02 sec)</code>

<code> </code> 

<code>mysql&gt; use zabbix;                  </code><code>#进入zabbix数据库</code>

<code>mysql&gt; show tables;                 </code><code>#再查看一下里面有很多张表,admin密码放在users表里面。</code>

<code>+-----------------------+</code>

<code>| Tables_in_zabbix      |</code>

<code>| acknowledges          |</code>

<code>| actions               |</code>

<code>| alerts                |</code>

<code>| application_template  |</code>

<code>| applications          |</code>

<code>| auditlog              |</code>

<code>| auditlog_details      |</code>

<code>| autoreg_host          |</code>

<code>| conditions            |</code>

<code>| config                |</code>

<code>| dbversion             |</code>

<code>| dchecks               |</code>

<code>| dhosts                |</code>

<code>| drules                |</code>

<code>| dservices             |</code>

<code>| escalations           |</code>

<code>| events                |</code>

<code>| expressions           |</code>

<code>| functions             |</code>

<code>| globalmacro           |</code>

<code>| globalvars            |</code>

<code>| graph_discovery       |</code>

<code>| graph_theme           |</code>

<code>| graphs                |</code>

<code>| graphs_items          |</code>

<code>| group_discovery       |</code>

<code>| group_prototype       |</code>

<code>| </code><code>groups</code>                <code>|</code>

<code>| </code><code>history</code>               <code>|</code>

<code>| history_log           |</code>

<code>| history_str           |</code>

<code>| history_str_sync      |</code>

<code>| history_sync          |</code>

<code>| history_text          |</code>

<code>| history_uint          |</code>

<code>| history_uint_sync     |</code>

<code>| host_discovery        |</code>

<code>| host_inventory        |</code>

<code>| hostmacro             |</code>

<code>| hosts                 |</code>

<code>| hosts_groups          |</code>

<code>| hosts_templates       |</code>

<code>| housekeeper           |</code>

<code>| httpstep              |</code>

<code>| httpstepitem          |</code>

<code>| httptest              |</code>

<code>| httptestitem          |</code>

<code>| icon_map              |</code>

<code>| icon_mapping          |</code>

<code>| ids                   |</code>

<code>| images                |</code>

<code>| interface             |</code>

<code>| interface_discovery   |</code>

<code>| item_discovery        |</code>

<code>| items                 |</code>

<code>| items_applications    |</code>

<code>| maintenances          |</code>

<code>| maintenances_groups   |</code>

<code>| maintenances_hosts    |</code>

<code>| maintenances_windows  |</code>

<code>| mappings              |</code>

<code>| media                 |</code>

<code>| media_type            |</code>

<code>| node_cksum            |</code>

<code>| nodes                 |</code>

<code>| opcommand             |</code>

<code>| opcommand_grp         |</code>

<code>| opcommand_hst         |</code>

<code>| opconditions          |</code>

<code>| operations            |</code>

<code>| opgroup               |</code>

<code>| opmessage             |</code>

<code>| opmessage_grp         |</code>

<code>| opmessage_usr         |</code>

<code>| optemplate            |</code>

<code>| profiles              |</code>

<code>| proxy_autoreg_host    |</code>

<code>| proxy_dhistory        |</code>

<code>| proxy_history         |</code>

<code>| regexps               |</code>

<code>| rights                |</code>

<code>| screens               |</code>

<code>| screens_items         |</code>

<code>| scripts               |</code>

<code>| service_alarms        |</code>

<code>| services              |</code>

<code>| services_links        |</code>

<code>| services_times        |</code>

<code>| sessions              |</code>

<code>| slides                |</code>

<code>| slideshows            |</code>

<code>| sysmap_element_url    |</code>

<code>| sysmap_url            |</code>

<code>| sysmaps               |</code>

<code>| sysmaps_elements      |</code>

<code>| sysmaps_link_triggers |</code>

<code>| sysmaps_links         |</code>

<code>| timeperiods           |</code>

<code>| trends                |</code>

<code>| trends_uint           |</code>

<code>| trigger_depends       |</code>

<code>| trigger_discovery     |</code>

<code>| triggers              |</code>

<code>| user_history          |</code>

<code>| </code><code>users</code>                 <code>|                   </code><code>#users表</code>

<code>| users_groups          |</code>

<code>| usrgrp                |</code>

<code>| valuemaps             |</code>

<code>108 rows </code><code>in</code> <code>set</code> <code>(0.00 sec)</code>

<code>mysql&gt; </code><code>select</code> <code>* from </code><code>users</code><code>;       </code><code># 查看表里的字段,admin对应的ID是1</code>

<code>+--------+-------+--------+---------------+----------------------------------+-----+-----------+------------+-------+---------+------+---------+----------------+------------+---------------+---------------+</code>

<code>| userid | </code><code>alias</code> <code>| name   | surname       | </code><code>passwd</code>                           <code>| url | autologin | autologout | lang  | refresh | </code><code>type</code> <code>| theme   | attempt_failed | attempt_ip | attempt_clock | rows_per_page |</code>

<code>|      1 | Admin | Zabbix | Administrator | 5fce1b3e34b520afeffb37ce08c7cd66 |     |         1 |          0 | zh_CN |      30 |    3 | default |              0 |            |             0 |            50 |</code>

<code>|      2 | guest |        |               | d41d8cd98f00b204e9800998ecf8427e |     |         0 |        900 | en_GB |      30 |    1 | default |              0 |            |             0 |            50 |</code>

<code>2 rows </code><code>in</code> <code>set</code> <code>(0.00 sec)</code>

<code>mysql&gt; </code><code>select</code> <code>userid,</code><code>passwd</code> <code>from </code><code>users</code><code>;</code>

<code>+--------+----------------------------------+</code>

<code>| userid | </code><code>passwd</code>                           <code>|</code>

<code>|      1 | 5fce1b3e34b520afeffb37ce08c7cd66 |       </code><code>#密码是加密的  </code>

<code>|      2 | d41d8cd98f00b204e9800998ecf8427e |</code>

重新开个终端,生成一个MD5加密的密码,这里密码设置的是redhat

<code>[root@localhost ~]</code><code># echo -n redhat|openssl md5    #-n就表示不输入回车符,不加-n,否则就不是这个结果了。</code>

<code>(stdin)= e2798af12a7a0f4f70b4d69efbc25f4d</code>

接着上面的为admin用户设定一个密码

<code>mysql&gt; update </code><code>users</code> <code>set</code> <code>passwd</code><code>=</code><code>'e2798af12a7a0f4f70b4d69efbc25f4d'</code> <code>where userid = </code><code>'1'</code><code>;</code>

<code>       </code><code>#或者直接使用update  users set passwd=md5("redhat") where userid='1';</code>

<code>Query OK, 1 row affected (0.01 sec)</code>

<code>Rows matched: 1  Changed: 1  Warnings: 0</code>

<code>mysql&gt; flush privileges;</code>

mysql基本操作

查询当前所有的库

<code>mysql&gt; show databases;</code>

<code>+</code><code>--------------------+</code>

<code>| </code><code>Database</code>           <code>|</code>

<code>| test               |</code>

<code>4 </code><code>rows</code> <code>in</code> <code>set</code> <code>(0.03 sec)</code>

查询某个库的表

<code>mysql&gt; use mysql;</code>

<code>Reading </code><code>table</code> <code>information </code><code>for</code> <code>completion </code><code>of</code> <code>table</code> <code>and</code> <code>column</code> <code>names</code>

<code>You can turn </code><code>off</code> <code>this feature </code><code>to</code> <code>get a quicker startup </code><code>with</code> <code>-A</code>

<code>Database</code> <code>changed</code>

<code>mysql&gt; show tables;</code>

<code>+</code><code>---------------------------+</code>

<code>| Tables_in_mysql           |</code>

<code>| columns_priv              |</code>

<code>| db                        |</code>

<code>| event                     |</code>

<code>| func                      |</code>

<code>| general_log               |</code>

<code>| help_category             |</code>

<code>| help_keyword              |</code>

<code>| help_relation             |</code>

<code>| help_topic                |</code>

<code>| host                      |</code>

<code>| ndb_binlog_index          |</code>

<code>| plugin                    |</code>

<code>| proc                      |</code>

<code>| procs_priv                |</code>

<code>| proxies_priv              |</code>

<code>| servers                   |</code>

<code>| slow_log                  |</code>

<code>| tables_priv               |</code>

<code>| time_zone                 |</code>

<code>| time_zone_leap_second     |</code>

<code>| time_zone_name            |</code>

<code>| time_zone_transition      |</code>

<code>| time_zone_transition_type |</code>

<code>| </code><code>user</code>                      <code>|</code>

<code>24 </code><code>rows</code> <code>in</code> <code>set</code> <code>(0.00 sec)</code>

 查看某个表的字段

<code>mysql&gt; </code><code>desc</code> <code>func;</code>

<code>+</code><code>-------+------------------------------+------+-----+---------+-------+</code>

<code>| Field | Type                         | </code><code>Null</code> <code>| </code><code>Key</code> <code>| </code><code>Default</code> <code>| Extra |</code>

<code>| </code><code>name</code>  <code>| </code><code>char</code><code>(64)                     | </code><code>NO</code>   <code>| PRI |         |       |</code>

<code>| ret   | tinyint(1)                   | </code><code>NO</code>   <code>|     | 0       |       |</code>

<code>| dl    | </code><code>char</code><code>(128)                    | </code><code>NO</code>   <code>|     |         |       |</code>

<code>| type  | enum(</code><code>'function'</code><code>,</code><code>'aggregate'</code><code>) | </code><code>NO</code>   <code>|     | </code><code>NULL</code>    <code>|       |</code>

<code>4 </code><code>rows</code> <code>in</code> <code>set</code> <code>(0.00 sec)</code>

查看某个表的表结构(创建表时的详细结构)

<code>mysql&gt; show </code><code>create</code> <code>table</code> <code>func;</code>

<code>+</code><code>-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</code>

<code>| </code><code>Table</code> <code>| </code><code>Create</code> <code>Table</code>                                                                                                                                                                                                                                                                                                                                                   <code>|</code>

<code>| func  | </code><code>CREATE</code> <code>TABLE</code> <code>`func` (</code>

<code>  </code><code>`</code><code>name</code><code>` </code><code>char</code><code>(64) </code><code>COLLATE</code> <code>utf8_bin </code><code>NOT</code> <code>NULL</code> <code>DEFAULT</code> <code>''</code><code>,</code>

<code>  </code><code>`ret` tinyint(1) </code><code>NOT</code> <code>NULL</code> <code>DEFAULT</code> <code>'0'</code><code>,</code>

<code>  </code><code>`dl` </code><code>char</code><code>(128) </code><code>COLLATE</code> <code>utf8_bin </code><code>NOT</code> <code>NULL</code> <code>DEFAULT</code> <code>''</code><code>,</code>

<code>  </code><code>`type` enum(</code><code>'function'</code><code>,</code><code>'aggregate'</code><code>) </code><code>CHARACTER</code> <code>SET</code> <code>utf8 </code><code>NOT</code> <code>NULL</code><code>,</code>

<code>  </code><code>PRIMARY</code> <code>KEY</code> <code>(`</code><code>name</code><code>`)</code>

<code>) ENGINE=MyISAM </code><code>DEFAULT</code> <code>CHARSET=utf8 </code><code>COLLATE</code><code>=utf8_bin COMMENT=</code><code>'User defined functions'</code> <code>|</code>

<code>1 row </code><code>in</code> <code>set</code> <code>(0.00 sec)</code>

查看当前是哪个用户

<code>mysql&gt; </code><code>select</code> <code>user</code><code>();</code>

<code>+</code><code>----------------+</code>

<code>| </code><code>user</code><code>()         |</code>

<code>| root@localhost |</code>

查看当前所在数据库

<code>mysql&gt; </code><code>select</code> <code>database</code><code>();</code>

<code>+</code><code>------------+</code>

<code>| </code><code>database</code><code>() |</code>

<code>| mysql      |</code>

创建一个新库

<code>mysql&gt; </code><code>create</code> <code>database</code> <code>db1;</code>

<code>Query OK, 1 row affected (0.03 sec)</code>

<code>| db1                |</code>

<code>5 </code><code>rows</code> <code>in</code> <code>set</code> <code>(0.00 sec)</code>

创建一个表

<code>mysql&gt; </code><code>create</code> <code>table</code> <code>t1 ( `id` </code><code>int</code><code>(4), `</code><code>name</code><code>` </code><code>char</code><code>(40));</code>

<code>Query OK, 0 </code><code>rows</code> <code>affected (0.02 sec)</code>

<code>mysql&gt; </code><code>desc</code> <code>t1;</code>

<code>+</code><code>-------+----------+------+-----+---------+-------+</code>

<code>| Field | Type     | </code><code>Null</code> <code>| </code><code>Key</code> <code>| </code><code>Default</code> <code>| Extra |</code>

<code>| id    | </code><code>int</code><code>(4)   | YES  |     | </code><code>NULL</code>    <code>|       |</code>

<code>| </code><code>name</code>  <code>| </code><code>char</code><code>(40) | YES  |     | </code><code>NULL</code>    <code>|       |</code>

<code>2 </code><code>rows</code> <code>in</code> <code>set</code> <code>(0.00 sec)</code>

删除某张表

<code>mysql&gt; use db1;</code>

<code>Empty </code><code>set</code> <code>(0.00 sec)</code>

<code>mysql&gt; </code><code>drop</code> <code>database</code> <code>db1;</code>

<code>Query OK, 0 </code><code>rows</code> <code>affected (0.23 sec)</code>

查看当前数据库版本

<code>mysql&gt; </code><code>select</code> <code>version();</code>

<code>+</code><code>-----------+</code>

<code>| version() |</code>

<code>| 5.5.40    |</code>

查看当前系统时间

<code>mysql&gt; </code><code>select</code> <code>current_date</code><code>,</code><code>current_time</code><code>;</code>

<code>+</code><code>--------------+--------------+</code>

<code>| </code><code>current_date</code> <code>| </code><code>current_time</code> <code>|</code>

<code>| 2014-12-24   | 09:04:01     |</code>

查看当前mysql的状态

<code>mysql&gt; show status;</code>

<code>+</code><code>------------------------------------------+-------------+</code>

<code>| Variable_name                            | Value       |</code>

<code>| Aborted_clients                          | 0           |</code>

<code>| Aborted_connects                         | 0           |</code>

<code>| Binlog_cache_disk_use                    | 0           |</code>

<code>| Binlog_cache_use                         | 0           |</code>

创建一个普通用户并授权

<code>mysql&gt; </code><code>grant</code> <code>all</code> <code>on</code> <code>*.* </code><code>to</code> <code>user1 identified </code><code>by</code> <code>'justin'</code><code>;                                           </code>

<code>Query OK, 0 </code><code>rows</code> <code>affected (0.03 sec)</code>

<code>mysql&gt;flush </code><code>privileges</code><code>;</code>

<code>Query OK, 0 </code><code>rows</code> <code>affected (0.01 sec)</code>

all 表示所有的权限(读、写、查询、删除等等操作),*.*前面的*表示所有的数据库,后面的*表示该数据库所有的表,identified by 后面跟密码,用单引号括起来。这里的user1指的是localhost上的user1,如果是给网络上的其他机器上的某个用户授权则这样:

<code>mysql&gt; </code><code>grant</code> <code>all</code> <code>on</code> <code>*.* </code><code>to</code> <code>'user2'</code><code>@</code><code>'10.15.24.245'</code> <code>identified </code><code>by</code> <code>'justin'</code><code>;</code>

<code>Query OK, 0 </code><code>rows</code> <code>affected (0.00 sec)</code>

用户和主机的IP之间有一个@,另外主机IP那里可以用%替代,表示所有主机

<code>mysql&gt; </code><code>grant</code> <code>all</code> <code>on</code> <code>*.* </code><code>to</code> <code>'user3'</code><code>@</code><code>'%'</code> <code>identified </code><code>by</code> <code>'justin'</code><code>;</code>

<code>mysql&gt;</code><code>grant</code> <code>select</code><code>,</code><code>delete</code><code>,</code><code>update</code><code>,</code><code>create</code><code>,</code><code>drop</code> <code>on</code> <code>*.* </code><code>to</code> <code>'user4'</code><code>@</code><code>'%'</code> <code>identified </code><code>by</code> <code>'123'</code><code>;</code>

数据库/数据表/数据列权限: Alter: 修改已存在的数据表(例如增加/删除列)和索引。

Create: 建立新的数据库或数据表。

Delete: 删除表的记录。

Drop: 删除数据表或数据库。

INDEX: 建立或删除索引。

Insert: 增加表的记录。

Select: 显示/搜索表的记录。

Update: 修改表中已存在的记录。

全局管理MySQL用户权限:

file: 在MySQL服务器上读写文件。

PROCESS: 显示或杀死属于其它用户的服务线程。

RELOAD: 重载访问控制表,刷新日志等。

SHUTDOWN: 关闭MySQL服务。

特别的权限:

ALL: 允许做任何事(和root一样)。

USAGE: 只允许登录--其它什么也不允许做

查看某用户权限:

<code>mysql&gt; show grants </code><code>for</code> <code>user1;</code>

<code>+</code><code>---------------------------------------------------------------------------------------------------------------+</code>

<code>| Grants </code><code>for</code> <code>user1@%                                                                                            |</code>

<code>| </code><code>GRANT</code> <code>ALL</code> <code>PRIVILEGES</code> <code>ON</code> <code>*.* </code><code>TO</code> <code>'user1'</code><code>@</code><code>'%'</code> <code>IDENTIFIED </code><code>BY</code> <code>PASSWORD</code> <code>'*418F5110126E965257925334DE2CECD97AE332B5'</code> <code>|</code>

删除某个用户:

<code>mysql&gt; </code><code>delete</code> <code>from</code> <code>user</code>  <code>where</code> <code>user</code><code>=</code><code>'user1'</code> <code>and</code> <code>host=</code><code>'localhost'</code><code>;</code>

本文转自 justin_peng 51CTO博客,原文链接:http://blog.51cto.com/ityunwei2017/1354088,如需转载请自行联系原作者