1
0
mirror of https://github.com/tommytran732/MariaDB-Root-Password-Reset synced 2024-11-25 11:51:33 -05:00

Compare commits

...

3 Commits

Author SHA1 Message Date
1ade36ed4f
Add License notice
Signed-off-by: Tommy <contact@tommytran.io>
2023-12-06 22:41:35 -07:00
afee3562b7
Remove bad practice
Signed-off-by: Tommy <contact@tommytran.io>
2023-12-06 22:15:32 -07:00
e4ca15dcc7
Shellcheck
Signed-off-by: Tommy <contact@tommytran.io>
2023-12-06 22:12:51 -07:00
4 changed files with 61 additions and 11 deletions

View File

@ -1,5 +1,7 @@
# MariaDB-Root-Password-Reset # MariaDB-Root-Password-Reset
Simple scripts to reset your MariaDB root password. Please note that for MariaDB 10.4.3+, it will change the authentication for root from unix_socket_authentication to mysql_native_authentication (How it was with MariaDB 10.4.2 and below) <br /> <br />
MariaDB 10.4.3 - 10.6.x: `curl -sSL https://raw.githubusercontent.com/tommytran732/MariaDB-Root-Password-Reset/master/mariadb-104.sh | sudo bash` <br /> <br /> Simple scripts to reset your MariaDB root password. Please note that for MariaDB 10.4.3+, it will change the authentication for root from unix_socket_authentication to mysql_native_authentication (How it was with MariaDB 10.4.2 and below).
MariaDB 10.4 - 10.4.2: `curl -sSL https://raw.githubusercontent.com/tommytran732/MariaDB-Root-Password-Reset/master/mariadb-104-legacy.sh | sudo bash` <br /> <br />
MariaDB 10.1-10.3 or MySQL 5.7.x: `curl -sSL https://raw.githubusercontent.com/tommytran732/MariaDB-Root-Password-Reset/master/mariadb-103.sh | sudo bash` - MariaDB 10.4.3 - 10.6.x: Use the `mariadb-104.sh` script
- MariaDB 10.4 - 10.4.2: Use the `mariadb-104-legacy.sh` script
- MariaDB 10.1-10.3 or MySQL 5.7.x: Use the `mariadb-103.sh` script.

View File

@ -1,12 +1,28 @@
#!/bin/bash
# Copyright (C) 2023 Thien Tran
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
output(){ output(){
echo -e '\e[36m'$1'\e[0m'; echo -e '\e[36m'"$1"'\e[0m';
} }
mariadb_root_reset(){ mariadb_root_reset(){
service mysql stop service mysql stop
mysqld_safe --skip-grant-tables >res 2>&1 & mysqld_safe --skip-grant-tables >res 2>&1 &
sleep 5 sleep 5
rootpassword=`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1` rootpassword=$(/dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
Q1="UPDATE user SET plugin='';" Q1="UPDATE user SET plugin='';"
Q2="UPDATE user SET password=PASSWORD('$rootpassword') WHERE user='root';" Q2="UPDATE user SET password=PASSWORD('$rootpassword') WHERE user='root';"
Q3="FLUSH PRIVILEGES;" Q3="FLUSH PRIVILEGES;"

View File

@ -1,9 +1,25 @@
#!/bin/bash
# Copyright (C) 2023 Thien Tran
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
output(){ output(){
echo -e '\e[36m'$1'\e[0m'; echo -e '\e[36m'"$1"'\e[0m';
} }
mariadb_root_reset(){ mariadb_root_reset(){
rootpassword=`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1` rootpassword=$(/dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
Q1="SET PASSWORD FOR root@localhost = PASSWORD('$rootpassword');" Q1="SET PASSWORD FOR root@localhost = PASSWORD('$rootpassword');"
Q2="FLUSH PRIVILEGES;" Q2="FLUSH PRIVILEGES;"
SQL="${Q1}${Q2}" SQL="${Q1}${Q2}"

View File

@ -1,9 +1,25 @@
#!/bin/bash
# Copyright (C) 2023 Thien Tran
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
output(){ output(){
echo -e '\e[36m'$1'\e[0m'; echo -e '\e[36m'"$1"'\e[0m';
} }
mariadb_root_reset(){ mariadb_root_reset(){
rootpassword=`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1` rootpassword=$(/dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
Q0="SET old_passwords=0;" Q0="SET old_passwords=0;"
Q1="SET PASSWORD FOR root@localhost = PASSWORD('$rootpassword');" Q1="SET PASSWORD FOR root@localhost = PASSWORD('$rootpassword');"
Q2="FLUSH PRIVILEGES;" Q2="FLUSH PRIVILEGES;"