1. Pasang mysql
1.) Pasang mysql
Muat turun dan pasang sumber repo mysql
Pasang mysql
$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm $ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm2.) Mulakan/mulakan semula/tutup perkhidmatan
$ sudo yum install -y mysql-server
2. Sistem Alpine
service mysqld start | restart | stopMysql yang dipasang dalam sistem alpine sebenarnya adalah sumber terbuka MariaDB Pangkalan data MariaDB ialah cawangan/derivatif MySQL, serasi sepenuhnya dengan MySQL, dan mempunyai fungsi lanjutan, enjin storan dan Beberapa penambahbaikan fungsi baharu adalah lebih baik daripada rujukan Pemasangan MySQL
2. Operasi mysql
$ apk update # 安装数据库及客户端 $ apk add mysql mysql-client # 初始化数据库 $ mysql_install_db --user=mysql --datadir=/var/lib/mysql # 启动服务 $ rc-service mariadb start # 若没有rc,安装:apk add openrc # 修改密码 $ mysqladmin -u root password '新root密码' # 加入开机启动 $ rc-update add mariadb defaultLog masuk ke pangkalan data Inisialisasi lalai dan log masuk terus
Jika gesaan gagal, ini bermakna terdapat kata laluan, jalankan:
$ mysql
2 >3. Pengurusan pengguna
$ mysql -uroot -p # 一次性登录 $ mysql -u用户 -p密码pengguna mysql Jadual digunakan untuk menyimpan semua kebenaran pengguna Medan hos menunjukkan bahawa pengguna IP yang ditentukan boleh menggunakannya values adalah seperti berikut: localhost: hanya boleh digunakan pada bahagian pelayan
# 查看所有数据库 mysql> show databases; # 创建数据库 mysql> create database xxx charset=utf8; # 删除数据库 mysql> drop database xxx; # 切换数据库 mysql> use mysql; # 查看表 mysql> show tables; # 创建表 mysql> create table xxx ( id int, name varchar(20), update_time datetime ); # 删除表 mysql> drop table xxx; # 显示表结构 mysql> desc xxx; # 查询指定a,b字段的记录,不知道用*代替 mysql> select a,b form xxx; # 插入记录 mysql> insert into xxx(id,user) values(1,'wang',now()); # 删除记录 mysql> delete from xxx where name='wang'; # 清屏命令 mysql> system clear; # 退出 mysql> quit;192.168 .4.%: Segmen IP yang ditentukan boleh digunakan
%: wildcard, menunjukkan bahawa semua pengguna IP boleh menggunakannya, kebanyakannya digunakan untuk sambungan jauh
Apabila membuat/memadam pengguna di bawah, anda boleh menggunakan pengguna@'host' Tentukan, jika tidak dinyatakan, lalainya ialah %
4. Operasi kelompok
1.) Pelaksanaan kumpulan skrip SQL
# 切换到mysql权限数据库 mysql> use mysql; # 查看用户及所属的host mysql> select user,host from user; # 新建用户并设置密码 mysql> create user '用户名' identified by '密码'; # 上面不指定host,默认%,等同于: mysql> create user '用户名'@'%' identified by '密码'; # 删除用户(只删除host为%的用户) mysql> drop user '用户名'; # 查看用户权限 mysql> show grants for '用户名'; # 设置权限,并指定数据库 mysql> grant all privileges on xxxDB.* to '用户名'; # 修改密码,注意密码处不能直接password='新密码' mysql> update user set password=password('新密码') where user='用户名'; # 刷新权限表 mysql> flush privileges;
2.) Sandaran/pulihkan pangkalan data
$ mysql -uroot -p -Dxxx < ./init.sql # xxx为数据库3. Soalan Lazim
1.
$ mysqldump --all-databases -h127.0.0.1 -u root -p > ./backup/mysql-bak.sql $ mysqldump --all-databases -h127.0.0.1 -u root -p < ./backup/mysql-bak.sqlApa yang perlu diperhatikan di sini ialah setiap arahan perlu diakhiri dengan koma bertitik ";". 2. Ralat pengguna nolRALAT 1044 (42000): Akses dinafikan untuk pengguna ''@'localhost' ke pangkalan data 'mysql' Ralat:
$ mysql –skip-grant-table & mysql> use mysql; mysql> update user set password=password('新密码') where user='root'; mysql> flush privileges; mysql> quit;Sebab :
Dalam jadual pengguna pangkalan data mysql, terdapat akaun dengan nama pengguna kosong, iaitu akaun tanpa nama Akibatnya, walaupun anda menggunakan root semasa log masuk, anda sebenarnya log masuk tanpa nama.
Penyelesaian:
3 Root boleh digunakan pada perkhidmatan, tetapi log masuk jauh tidak boleh dilakukan4. Caching_sha2_password gesaan sambungan jauh
# 1.关闭mysql $ service mysqld stop # 2.屏蔽权限 $ mysqld_safe --skip-grant-table # 屏幕出现: Starting demo from ..... # 3.新开起一个终端输入 $ mysql -uroot mysql mysql> update user set password=password('新密码') where user='root'; mysql> flush privileges; mysql> quit;Sejak mysql versi 5.7, kaedah pengesahan caching_sha2_password telah diterima pakai secara lalai
$ mysql -uroot -p mysql> use mysql; # 先查看user表host字段,有无通配符'%',若有直接运行flush privileges; mysql> select host from user where user='root'; mysql> grant all privileges *.* to 'root'@'%' identified by 'root密码'; mysql> flush privileges; mysql> quit;5 >
Pembelajaran yang disyorkan : "
tutorial video mysql"
mysql> use mysql; mysql> alter user 'root'@'%' identified with mysql_native_password by 'root密码';