社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
debian:~# apt-get install mysql-server mysql-client
mysql-server是服务器程序,mysql-client是客户端程序。我们可通过客户端程序来管理服务器,也可通过一些开源 的GUI程序来维护服务器,如phpmyadmin,mysqlcc等。推荐使用phpmyadmin这个B/S的管理程序,通过浏览器就可方便高效地管 理网络上的数据库。
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置mysql的安装目录
basedir=C:Program FilesMysqlmysql-8.0.12-winx64
# 设置mysql数据库的数据的存放目录,必须是data,或者是//xxx/data
datadir=C:Program FilesMysqlmysql-8.0.12-winx64data
#设置3306端口
port = 3306
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
MySQL安装完成后不象SQL Server默认安装在一个目录,它的数据库文件、配置文件和命令文件分别在不同的目录,了解这些目录非常重要,尤其对于Linux的初学者,因为 Linux本身的目录结构就比较复杂,如果搞不清楚MySQL的安装目录那就无从谈起深入学习。下面就介绍一下这几个目录:
/var/lib/mysql/
/usr/share/mysql/
(mysql.server命令及配置文件)/usr/bin
(mysqladmin mysqldump等命令)/etc/rc.d/init.d/
(启动脚本文件mysql的目录)MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可。
/etc/init.d/mysql start
/usr/bin/mysqladmin -u root -p shutdown
/sbin/chkconfig –list
/sbin/chkconfig – add mysql
/sbin/chkconfig – del mysql
MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步:
mkdir /home/data
mysqladmin -u root -p shutdown
mv /var/lib/mysql /home/data/
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
vi my.cnf (用vi工具编辑my.cnf文件,找到下列数据修改之)
# The MySQL server
[mysqld]
port = 3306
# socket = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)
socket = /home/data/mysql/mysql.sock (加上此行)
[root@test1 etc]# vi /etc/rc.d/init.d/mysql`
# datadir=/var/lib/mysql (注释此行)
datadir=/home/data/mysql (加上此行)
/etc/rc.d/init.d/mysql start
mysql [-u username] [-h host] [-p[password]] [dbname]
username 与 password 分别是 MySQL 的用户名与密码,mysql的初始管理帐号是root,没有密码,注意:这个root用户不是Linux的系统用户。MySQL默认用户是root,由于 初始没有密码,第一次进时只需键入mysql即可。
[root@test1 local]# mysql
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1 to server version: 4.0.16-standard
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql>
出现了“mysql>”提示符,恭喜你,登陆成功!
增加了密码后的登录格式如下:
mysql -u root -p
Enter password: (输入密码)
其中-u后跟的是用户名,-p要求输入密码,回车后在输入密码处输入密码。
注意:这个mysql文件在/usr/bin目录下,与后面讲的启动文件/etc/init.d/mysql不是一个文件。
MySQL默认没有密码,安装完毕增加密码的重要性是不言而喻的。
usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root password 123456
[root@test1 local]# mysql
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)
显示错误,说明密码已经修改。[root@test1 local]# mysql -u root -p
Enter password: (输入修改后的密码123456)
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 4 to server version: 4.0.16-standard
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql>
成功!格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
mysql> grant select,insert,update,delete on *.* to user_1@"%" Identified by "123";
mysql>grant select,insert,update,delete on aaa.* to user_2@localhost identified by "123";
mysql -u user_1 -p -h 192.168.113.50 (-h后跟的是要登录主机的ip地址)
SELECT * FROM MYTABLE
ORDER BY AFIELD
LIMIT offset, recnum
其中offset为从第几条(M+1)记录开始,recnum为返回的记录条数。例:
select * from mytable
order by afield
limit 2, 5
即意为从第3条记录开始的5条记录。
注意:MySQL中每个命令后都要以分号;结尾。
mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.04 sec)
Mysql刚安装完有两个数据库:mysql和test。mysql库非常重要,它里面有MySQL的系统信息,我们改密码和新增用户,实际上就是用这个库中的相关表进行操作。
mysql> use mysql; (打开库,对每个库进行操作就要打开此库,类似于foxpro )
Database changed
mysql> show tables;
+-----------------+
| Tables_in_mysql |
+-----------------+
| columns_priv |
| db |
| func |
| host |
| tables_priv |
| user |
+-----------------+
6 rows in set (0.01 sec)
select * from 表名;
Select * from user;
create database 库名;
mysql> create databases aaa;
use 库名;
create table 表名 (字段设定列表);
use aaa;
mysql> create table name (id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date);
mysql> describe name; // 可以用describe命令察看刚建立的表结构。
+-------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+----------------+
| id | int(3) | | PRI | NULL | auto_increment |
| xm | char(8) | YES | | NULL | |
| xb | char(2) | YES | | NULL | |
| csny | date | YES | | NULL | |
+-------+---------+------+-----+---------+----------------+
mysql> insert into name values('','张三','男','1971-10-01');
mysql> insert into name values('','白云','女','1972-05-20');
mysql> select * from name; // 可用select命令来验证结果。
+----+------+------+------------+
| id | xm | xb | csny |
+----+------+------+------------+
| 1 | 张三 | 男 | 1971-10-01 |
| 2 | 白云 | 女 | 1972-05-20 |
+----+------+------+------------+
mysql> update name set csny='1971-01-10' where xm='张三';
mysql> delete from name where xm='张三';
drop database 库名;
drop table 表名;
mysqldump -u root -p --opt aaa > back_aaa (将aaa库备份到文件back_aaa中)
mysql -u root -p ccc < back_aaa
service mysqld start
就行了login as: root //登陆系统
root@tqwm.cn's password: //输入密码
Last login: Tue Apr 15 14:06:54 2008 from 210.13.92.66
[root@myserver ~]# /usr/local/mysql/bin/mysql -uroot -hlocalhost -p //登入mysql
Enter password: //输入mysql对应用户的密码
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 431
Server version: 5.0.58-enterprise-gpl-log Source
Type 'help;' or 'h' for help. Type 'c' to clear the buffer. //登入成功的提示信息
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'rootpasswd' WITH GRANT OPTION; // 输入这段指令并回车后允许所有用root用户并且输入rootpasswd密码的主机登入该mysql Server 如果将'%'换成'10.1.1.1'那么只有10.1.1.1的主机可以登陆.
Query OK, 0 rows affected (0.07 sec)
mysql> q //退出mysql
Bye
[root@myserver ~]#
mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION
GUI 安装
sudo apt-get install mysql-workbench
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!