Mariadb 配置

发布时间 2024-01-04 16:25:47作者: 可乐芬达

安装

  1. 更新源 sudo apt-get update
  2. 安装 sudo apt-get install mariadb-server
  3. 查看MeriaDB是否运行 service mysql status
  4. 安装 mysql_secure_installation 提高数据库服务器的安全性 sudo mysql_secure_installation, 安装过程中设置管理员密码,其他全选 Y 即可

配置

第一次安装后并不能直接登录,按照以下方法进行设置

sudo mysql -u root # I had to use "sudo" since it was a new installation

mysql> USE mysql;
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;

sudo service mysql restart

然后就可以使用 mysql -u root -p 并输入设置好的管理员密码就可以登录

配置远程访问

  1. 添加远程访问账户 create user 'newuser'@'%' identified by '123456'; % 代表任意 IP 都可以访问
  2. 修改配置文件 sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf 将 bind-address 改为 0.0.0.0

用户管理

创建用户

  1. 方法 1:create user newuser@localhost identified by '123456';
  2. 方法 2:insert into mysql.user(user,host,password) values('newuser','localhost',password('123456'));
  3. 新建一个 newuser 用户并且授权全部操作权限 grant all privileges on *.* to newuser@localhost identified by '123456';
    *.* 中前面的号用来指定数据库名,后面的号用来指定表名

然后就可以使用 mysql -u newuser -p 输入密码进行登录

查看当前用户

select user from mysql.user;

删除用户

drop user newuser@localhost;

权限管理

  1. 查看用户权限 show grants for newuser@localhost;
  2. 指定部分授权 grant insert,update,delete,select on *.* to newuser@localhost;

数据库操作

  1. 创建数据库 CREATE DATABASE newdatabase;
  2. 删除数据库 DROP DATABASE newdatabase;
  3. 选择数据库 USE newdatabase;

表操作

  1. 创建表

    create table users (
        id INT AUTO_INCREMENT PRIMARY KEY,
        username VARCHAR(50) NOT NULL,
        email VARCHAR(100) NOT NULL,
        birthdate DATE,
        is_active BOOLEAN DEFAULT TRUE
    );
    
  2. 删除表 DROP TABLE users;

  3. 插入数据

    INSERT INTO users (username, email, birthdate, is_active)
    VALUES ('test', 'test@runoob.com', '1990-01-01', true);
    
  4. 查询表

    -- 选择所有列的所有行
    SELECT * FROM users;
    
    -- 选择特定列的所有行
    SELECT username, email FROM users;
    
    -- 添加 WHERE 子句,选择满足条件的行
    SELECT * FROM users WHERE is_active = TRUE;
    
    -- 添加 ORDER BY 子句,按照某列的升序排序
    SELECT * FROM users ORDER BY birthdate;
    
    -- 添加 ORDER BY 子句,按照某列的降序排序
    SELECT * FROM users ORDER BY birthdate DESC;
    
    -- 添加 LIMIT 子句,限制返回的行数
    SELECT * FROM users LIMIT 10;