ubuntu 16.4 安装mysql server及在处理过程中出现的问题集锦
发表时间:2018-04-02
通过apt安装:
首先在官方网站下载mysql-apt-config.deb包进行APT源设置。
下载地址:
然后执行:
sudo dpkg -i mysql-apt-config_版本信息.deb
接着运行更新命令:
sudo apt update
sudo apt install mysql-server
如果提示依赖不足的情况,可以使用如下命令解决依赖问题:
sudo apt install -f
安装完成后,可以使用如下命令进行测试:
sudo netstat -anp | grep mysql
连接数据库:
mysql -u root -p
连接成功后,使用show database;查看数据库。
如果忘了数据用户名(root)的密码时:
可以通过/etc/mysql/debian.cnf下的用户名和密码进行登录。
一般用户名为debian-sys-maint
登录完成后使用mysql数据库,该数据库的user表存储用户名和密码。
$ use mysql;
使用如下命令更改密码:
update mysql.user set authentication_string=password('root') where user='root';
如果你更新的报“”“ERROR 1054 (42S22): Unknown column 'password' in 'field list'”,说明版本不一样了。password字段已经改成authentication_string字段了。
然后重启MySQL,/etc/init.d/mysqld restart
在继续原来的登录操作。
登录后进入mysql控制台:
1、显示当前数据库服务器中的数据库列表:
mysql> SHOW DATABASES;
2、建立数据库:
mysql> CREATE DATABASE 库名;
3、建立数据表:
mysql> USE 库名;
mysql> CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1));
4、删除数据库:
mysql> DROP DATABASE 库名;
5、删除数据表:
mysql> DROP TABLE 表名;
6、将表中记录清空:
mysql> DELETE FROM 表名;
7、往表中插入记录:
mysql> INSERT INTO 表名 VALUES ("hyq","M");
8、更新表中数据:
mysql-> UPDATE 表名 SET 字段名1='a',字段名2='b' WHERE 字段名3='c';
9、用文本方式将数据装入数据表中:
mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE 表名;
10、导入.sql文件命令:
mysql> USE 数据库名;
mysql> SOURCE d:/mysql.sql;
11、命令行修改root密码:
mysql> UPDATE mysql.user SET password=PASSWORD('新密码') WHERE User='root';
mysql> FLUSH PRIVILEGES;
三、一个建库和建表以及插入数据的实例
drop database if exists school; //如果存在sudu则删除
create database sudu; //建立库sudu
use school; //打开库sudu
create table teacher //建立表TEACHER
(
id int(3) auto_increment not null primary key,
name char(10) not null,
address varchar(50) default '深圳',
year date
); //建表结束
//以下为插入字段
insert into teacher values('','allen','飞数科技1','2005-10-10');
insert into teacher values('','jack','飞数科技2','2005-12-23');如果你在mysql提示符键入上面的命令也可以,但不方便调试。
(1)你可以将以上命令原样写入一个文本文件中,假设为sudu.sql,然后复制到c:\\下,并在DOS状态进入目录\mysql\bin,然后键入以下命令:
mysql -uroot -p密码 < c:\sudu.sql
如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试,你只要将//的注释去掉即可使用)。
(2)或者进入命令行后使用 mysql> source c:\sudu.sql; 也可以将sudu.sql文件导入数据库中。
四、将文本数据转到数据库中
1、文本数据应符合的格式:字段数据之间用tab键隔开,null值用\n来代替.例:
3 rose 飞数科技1 1976-10-10
4 mike 飞数科技2 1975-12-23
假设你把这两组数据存为速度sudu.txt文件,放在c盘根目录下。
2、数据传入命令 load data local infile "c:\sudu.txt" into table 表名;
注意:你最好将文件复制到\mysql\bin目录下,并且要先用use命令打表所在的库。
五、备份数据库:(命令在DOS的\mysql\bin目录下执行)
1.导出整个数据库
导出文件默认是存在mysql\bin目录下
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u user_name -p123456 database_name > outfile_name.sql
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u user_name -p database_name table_name > outfile_name.sql
3.导出一个数据库结构
mysqldump -u user_name -p -d --add-drop-table database_name > outfile_name.sql
-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
4.带语言参数导出
mysqldump -uroot -p --default-character-set=latin1 --set-charset=gbk --skip-opt database_name > outfile_name.sql